文档库 最新最全的文档下载
当前位置:文档库 › 实验8 Linux文件操作

实验8 Linux文件操作

实验8 Linux文件操作
实验8 Linux文件操作

linux文件操作篇

open(打开文件)

表头文件 #include

#include

#include

定义函数int open( const char * pathname, int flags);

int open( const char * pathname,int flags, mode_t mode);

函数说明参数pathname 指向欲打开的文件路径字符串。下列是参数flags 所能使用的旗标:

O_RDONLY 以只读方式打开文件

O_WRONLY 以只写方式打开文件

O_RDWR 以可读写方式打开文件。上述三种旗标是互斥的,也就是不可同时使用,但可与下列的旗标利用OR(|)运算符组合。

O_CREAT若欲打开的文件不存在则自动建立该文件。

O_EXCL 如果O_CREAT 也被设置,此指令会去检查文件是否存在。文件若不存在则建立该文件,否则将导致打开文件错误。此外,若O_CREAT与O_EXCL同时设置,并且欲打开的文件为符号连接,则会打开文件失败。

O_NOCTTY 如果欲打开的文件为终端机设备时,则不会将该终端机当成进程控制终端机。

O_TRUNC 若文件存在并且以可写的方式打开时,此旗标会令文件长度清为0,而原来存于该文件的资料也会消失。

O_APPEND 当读写文件时会从文件尾开始移动,也就是所写入的数据会以附加的方式加入到文件后面。

O_NONBLOCK 以不可阻断的方式打开文件,也就是无论有无数据读取或等待,都会立即返回进程之中。

O_NDELAY 同O_NONBLOCK。

O_SYNC 以同步的方式打开文件。

O_NOFOLLOW 如果参数pathname 所指的文件为一符号连接,则会令打开文件失败。

O_DIRECTORY 如果参数pathname 所指的文件并非为一目录,则会令打开文件失败。

此为Linux2.2以后特有的旗标,以避免一些系统安全问题。参数mode 则有下列数种组合,只有在建立新文件时才会生效,此外真正建文件时的权限会受到umask值所影响,因此该文件权限应该为(mode-umaks)。

S_IRWXU00700 权限,代表该文件所有者具有可读、可写及可执行的权限。

S_IRUSR 或S_IREAD,00400权限,代表该文件所有者具有可读取的权限。

S_IWUSR 或S_IWRITE,00200 权限,代表该文件所有者具有可写入的权限。

S_IXUSR 或S_IEXEC,00100 权限,代表该文件所有者具有可执行的权限。

S_IRWXG 00070权限,代表该文件用户组具有可读、可写及可执行的权限。

S_IRGRP 00040 权限,代表该文件用户组具有可读的权限。

S_IWGRP 00020权限,代表该文件用户组具有可写入的权限。

S_IXGRP 00010 权限,代表该文件用户组具有可执行的权限。

S_IRWXO 00007权限,代表其他用户具有可读、可写及可执行的权限。

S_IROTH 00004 权限,代表其他用户具有可读的权限

S_IWOTH 00002权限,代表其他用户具有可写入的权限。

S_IXOTH 00001 权限,代表其他用户具有可执行的权限。

返回值若所有欲核查的权限都通过了检查则返回0 值,表示成功,只要有一个权限被禁止则返回-1。

错误代码 EEXIST 参数pathname 所指的文件已存在,却使用了

O_CREAT和O_EXCL旗标。

EACCESS 参数pathname所指的文件不符合所要求测试的权限。

EROFS 欲测试写入权限的文件存在于只读文件系统内。

EFAULT 参数pathname指针超出可存取内存空间。

EINVAL 参数mode 不正确

ENAMETOOLONG 参数pathname太长。

ENOTDIR 参数pathname不是目录。

ENOMEM 核心内存不足。

ELOOP 参数pathname有过多符号连接问题。

EIO I/O 存取错误。

附加说明使用access()作用户认证方面的判断要特别小心,例如在access()后再作open()空文件可能会造成系统安全上的问题。

范例 #include

#include

#include

#include

main()

{

int fd,size;

char s [ ]=”Linux Programmer!\n”, buffer[80];

fd=open(“/tmp/temp”, O_WRONLY|O_CREAT);

write(fd, s ,sizeof(s));

close(fd);

fd=open(“/tmp/temp”, O_RDONLY);

size=read(fd, buffer, sizeof(buffer));

close(fd);

printf(“%s”,buffer);

}

执行 Linux Programmer!

creat(建立文件)

表头文件 #include

#include

#include

定义函数int creat(const char * pathname, mode_tmode);

函数说明参数pathname指向欲建立的文件路径字符串。Creat()相当于使用下列的调用方式调用open()

open(const char * pathname ,(O_CREAT|O_WRONLY|O_TRUNC)); 错误代码关于参数mode请参考open()函数。

返回值 creat()会返回新的文件描述词,若有错误发生则会返回-1,并把错误代码设给errno。

EEXIST 参数pathname所指的文件已存在。

EACCESS 参数pathname 所指定的文件不符合所要求测试的权限

EROFS 欲打开写入权限的文件存在于只读文件系统内

EFAULT 参数pathname 指针超出可存取的内存空间

EINVAL 参数mode 不正确。

ENAMETOOLONG 参数pathname太长。

ENOTDIR 参数pathname为一目录

ENOMEM 核心内存不足

ELOOP 参数pathname有过多符号连接问题。

EMFILE 已达到进程可同时打开的文件数上限

ENFILE 已达到系统可同时打开的文件数上限

附加说明 creat()无法建立特别的装置文件,如果需要请使用mknod()。

close(关闭文件)

表头文件 #include

定义函数 int close(int fd);

函数说明当使用完文件后若已不再需要则可使用close()关闭该文件,close()会让数据写回磁盘,并释放该文件所占用的资源。参数fd为先前由open()或creat()所返回的文件描述词。

返回值若文件顺利关闭则返回0,发生错误时返回-1。

错误代码 EBADF 参数fd 非有效的文件描述词或该文件已关闭。

附加说明虽然在进程结束时,系统会自动关闭已打开的文件,但仍建议自行关闭文件,并确实检查返回值。

 lseek(移动文件的读写位置)

表头文件 #include

#include

定义函数off_t lseek(int fildes, off_t offset ,int whence);

函数说明每一个已打开的文件都有一个读写位置,当打开文件时通常其读写位置是指向文件开头,若是以附加的方式打开文件(如

O_APPEND),则读写位置会指向文件尾。当read()或write()时,读写位置会随之增加,lseek()便是用来控制该文件的读写位置。参数fildes 为已打开的文件描述词,参数offset 为根据参数whence来移动读写位置的位移数。

参数 whence为下列其中一种:

SEEK_SET 参数offset即为新的读写位置。

SEEK_CUR 以目前的读写位置往后增加offset个位移量。

SEEK_END 将读写位置指向文件尾后再增加offset个位移量。

当whence 值为SEEK_CUR 或SEEK_END时,参数offet允许负值的出现。

下列是教特别的使用方式:

1) 欲将读写位置移到文件开头时:lseek(int fildes,0,SEEK_SET);

2) 欲将读写位置移到文件尾时:lseek(int fildes,0,SEEK_END);

3) 想要取得目前文件位置时:lseek(int fildes,0,SEEK_CUR);

返回值当调用成功时则返回目前的读写位置,也就是距离文件开头多少个字节。若有错误则返回-1,errno 会存放错误代码。

附加说明 Linux系统不允许lseek()对tty装置作用,此项动作会令lseek()返回ESPIPE。

read(由已打开的文件读取数据)

表头文件 #include

定义函数 ssize_t read(int fd,void * buf ,size_t count);

函数说明 read()会把参数fd 所指的文件传送count个字节到buf指针所指的内存中。若参数count为0,则read()不会有作用并返回0。返回值为实际读取到的字节数,如果返回0,表示已到达文件尾或是无可读取的数据,此外文件读写位置会随读取到的字节移动。

附加说明如果顺利read()会返回实际读到的字节数,最好能将返回值与参数count 作比较,若返回的字节数比要求读取的字节数少,则有可能读到了文件尾、从管道(pipe)或终端机读取,或者是read()被信号中

断了读取动作。当有错误发生时则返回-1,错误代码存入errno中,而文件读写位置则无法预期。

错误代码 EINTR 此调用被信号所中断。

EAGAIN 当使用不可阻断I/O 时(O_NONBLOCK),若无数据可读取则返回此值。

EBADF 参数fd 非有效的文件描述词,或该文件已关闭。

write(将数据写入已打开的文件内)

表头文件 #include

定义函数ssize_t write (int fd, const void * buf, size_t count);

函数说明 write()会把参数buf所指的内存写入count个字节到参数fd 所指的文件内。当然,文件读写位置也会随之移动。

返回值如果顺利write()会返回实际写入的字节数。当有错误发生时则返回-1,错误代码存入errno中。

错误代码 EINTR 此调用被信号所中断。

EAGAIN 当使用不可阻断I/O 时(O_NONBLOCK),若无数据可读取则返回此值。

EADF 参数fd非有效的文件描述词,或该文件已关闭。

dup(复制文件描述词)

相关函数 open,close,fcntl,dup2

表头文件 #include

定义函数 int dup (int oldfd);

函数说明 dup()用来复制参数oldfd所指的文件描述词,并将它返回。此新的文件描述词和参数oldfd指的是同一个文件,共享所有的锁定、读写位置和各项权限或旗标。例如,当利用lseek()对某个文件描述词作用时,另一个文件描述词的读写位置也会随着改变。不过,文件描述词之间并不共享close- on-exec旗标。

返回值当复制成功时,则返回最小及尚未使用的文件描述词。若有错误则返回-1,errno会存放错误代码。错误代码EBADF参数fd非有效的文件描述词,或该文件已关闭。

dup2(复制文件描述词)

相关函数 open,close,fcntl,dup

表头文件 #include

定义函数 int dup2(int odlfd,int newfd);

函数说明 dup2()用来复制参数oldfd所指的文件描述词,并将它拷贝至参数newfd后一块返回。若参数newfd为一已打开的文件描述词,则newfd所指的文件会先被关闭。dup2()所复制的文件描述词,与原来的文件描述词共享各种文件状态,详情可参考dup()。

返回值当复制成功时,则返回最小及尚未使用的文件描述词。若有错误则返回-1,errno会存放错误代码。

附加说明 dup2()相当于调用fcntl(oldfd,F_DUPFD,newfd);请参考fcntl()。

错误代码 EBADF 参数fd 非有效的文件描述词,或该文件已关闭 fcntl(文件描述词操作)

相关函数 open,flock

表头文件 #include

#include

定义函数 int fcntl(int fd , int cmd);

int fcntl(int fd,int cmd,long arg);

int fcntl(int fd,int cmd,struct flock * lock);

函数说明 fcntl()用来操作文件描述词的一些特性。参数fd代表欲设置的文件描述词,参数cmd代表欲操作的指令。

有以下几种情况:

F_DUPFD用来查找大于或等于参数arg的最小且仍未使用的文件描述词,并且复制参数fd的文件描述词。执行成功则返回新复制的文件描述词。请参考dup2()。F_GETFD取得close-on-exec旗标。若此旗标的FD_CLOEXEC位为0,代表在调用exec()相关函数时文件将不会关闭。 F_SETFD 设置close-on-exec 旗标。该旗标以参数arg 的

FD_CLOEXEC位决定。

F_GETFL 取得文件描述词状态旗标,此旗标为open()的参数flags。

F_SETFL 设置文件描述词状态旗标,参数arg为新旗标,但只允许O_APPEND、O_NONBLOCK和O_ASYNC位的改变,其他位的改变将不受影响。

F_GETLK 取得文件锁定的状态。来

F_SETLK 设置文件锁定的状态。此时flcok 结构的l_type 值必须是

F_RDLCK、F_WRLCK或F_UNLCK。如果无法建立锁定,则返回-1,错误代码为EACCES 或EAGAIN。

F_SETLKW F_SETLK 作用相同,但是无法建立锁定时,此调用会一直等到锁定动作成功为止。若在等待锁定的过程中被信号中断时,会立即返回-1,错误代码为EINTR。参数lock指针为flock 结构指针,定义如下

struct flcok

{

short int l_type; /* 锁定的状态*/

short int l_whence;/*决定l_start位置*/

off_t l_start; /*锁定区域的开头位置*/

off_t l_len; /*锁定区域的大小*/

pid_t l_pid; /*锁定动作的进程*/

};

l_type 有三种状态:

F_RDLCK 建立一个供读取用的锁定

F_WRLCK 建立一个供写入用的锁定

F_UNLCK 删除之前建立的锁定

l_whence 也有三种方式:

SEEK_SET 以文件开头为锁定的起始位置。

SEEK_CUR 以目前文件读写位置为锁定的起始位置

SEEK_END 以文件结尾为锁定的起始位置。

返回值成功则返回0,若有错误则返回-1,错误原因存于errno.

flock(锁定文件或解除锁定)

相关函数 open,fcntl

表头文件 #include

定义函数 int flock(int fd,int operation);

函数说明 flock()会依参数operation所指定的方式对参数fd所指的文件做各种锁定或解除锁定的动作。此函数只能锁定整个文件,无法锁定文件的某一区域。

参数 operation有下列四种情况:

LOCK_SH 建立共享锁定。多个进程可同时对同一个文件作共享锁定。

LOCK_EX 建立互斥锁定。一个文件同时只有一个互斥锁定。

LOCK_UN 解除文件锁定状态。

LOCK_NB 无法建立锁定时,此操作可不被阻断,马上返回进程。通常与LOCK_SH或LOCK_EX 做OR(|)组合。

单一文件无法同时建立共享锁定和互斥锁定,而当使用dup()或fork()时文件描述词不会继承此种锁定。

返回值返回0表示成功,若有错误则返回-1,错误代码存于errno。 fsync(将缓冲区数据写回磁盘)

表头文件 #include

定义函数 int fsync(int fd);

函数说明 fsync()负责将参数fd所指的文件数据,由系统缓冲区写回磁盘,以确保数据同步。

返回值成功则返回0,失败返回-1,errno为错误代码。

 

mkstemp(建立唯一的临时文件)

表头文件 #include

定义函数 int mkstemp(char * template);

函数说明 mkstemp()用来建立唯一的临时文件。参数template 所指的文件名称字符串中最后六个字符必须是XXXXXX。Mkstemp()会以可

读写模式和0600 权限来打开该文件,如果该文件不存在则会建立该文件。打开该文件后其文件描述词会返回。文件顺利打开后返回可读写的文件描述词。若果文件打开失败则返回 NULL,并把错误代码存在errno 中。

错误代码 EINVAL 参数template 字符串最后六个字符非XXXXXX。EEXIST 无法建立临时文件。

附加说明参数template所指的文件名称字符串必须声明为数组,如:

char template[ ] =”template-XXXXXX”;

千万不可以使用下列的表达方式

char *template = “template-XXXXXX”;

范例 #include

main( )

{

int fd;

char template[ ]=”template-XXXXXX”;

fd=mkstemp(template);

printf(“template = %s\n”,template);

close(fd);

}

执行 template = template-lgZcbo

 

sync(将缓冲区数据写回磁盘)

相关函数 fsync

表头文件 #include

定义函数 int sync(void)

函数说明 sync()负责将系统缓冲区数据写回磁盘,以确保数据同步。

返回值返回0。

作业:

创建一个STUDENT文件,包含有信息SNO(6), SNAME(10), AGE, ADDR(15). 要求使用Linux文件系统调用实现:

1.从键盘依次输入5个学生信息(S00001,S00002,S00003,

S00004,S00006)保存到student文件中去。要求文件中的记录按SNO升序排序。

2.按下列方式显示

(1)所有学生信息;

(2)按SNO查询指定学生信息;

(3)更新指定序号(如第1,3个学生)学生信息。(lseek);(4)增加新的学生S00005信息.

操作系统文件管理实验报告

操作系统实验报告实验名称:文件管理 专业班级:网络工程1301 学号: 姓名: 2015 年6 月16 日

实验一文件管理 一、实验目的 文件管理是操作系统的一个非常重要的组成部分。学生应独立用高级语言编写和调试一个简单的文件系统,模拟文件管理的工作过程。从而对各种文件操作命令的实质容和执行过程有比较深入的了解,掌握它们的实施方法,加深理解课堂上讲授过的知识。 二、预备知识 1.VS2010的使用 2.C#的学习 3.文件主目录与子目录的理解 三、实验容与步骤 用高级语言编写和调试一个简单的文件系统,模拟文件管理的工作过程。要求设计一个10 个用户的文件系统,每次用户可保存10 个文件,一次运行用户可以打开5 个文件。系统能够检查打入命令的正确性,出错时能显示出错原因。对文件必须设置保护措施,例如只能执行,允许读等。在每次打开文件时,根据本次打开的要求,在此设置保护级别,即有二级保护。文件的操作至少有Create、delete、open、close、read、write 等命令。 所编写的程序应采用二级文件目录,即设置主文件目录和用户文件目录。前者应包含文件主及它们的目录区指针;后者应给出每个文件占有的文件目录,即文件名,保护码,文件长度以及它们存放的位置等。另外为打开文件设置运行文件目录(AFD),在文件打开时应填入打开文件号,本次打开保护码和读写指针等。 程序流程图:

逻辑设计: 使用线性数组表表示MFD,泛型数组表示UFD,每个元素包括用户ID、保存的文件数、再使用线性表表示文件信息,每个元素包括文件名,文件属性(保护码),文件的状态等信息。 物理设计: //主目录 private FileUser[] mfd; //当前用户 private FileUser currentuser; ///

/// 文件 /// public class FileObject { public string filename; public int size=20; public int read=0; public int write = 0; public string author; } /// /// 文件系统用户 /// public class FileUser { public string username;

2020年安徽省中考化学专题训练《实验基本操作》(word版含答案)

2020年化学中考专题训练《实验基本操作》 一、选择题: 1、下列有关实验操作正确的是() A、倾倒液体 B、给试管加热 C、滴加液体 D、移走加热的蒸发皿 2、下列实验的基本操作中,正确的是() A、倾倒液体 B、加热液体 C、手拿滴管 D、盖灭酒精灯 3、规范的操作是实验成功的保证。下列实验操作不正确的是() 4、规范的操作是实验成功的保证。下列实验操作正确的是()

5、规范的操作是实验成功的保证.下列实验操作正确的是() 6、如图所示的实验操作规范的是()

7、如图所示的实验操作正确的是() 8、试管是实验室最常见的仪器,在不同的化学实验中试管口的朝向不同,如图所示,下列说法中不正确的是() A.给试管中的液体加热时,试管口朝向如图③ B.向试管中加入块状固体时,试管口的朝向先如图②后如图① C.给试管中的固体加热吋,试管口朝向如图③ D.用胶头滴管向试管中滴加液体时,试管口朝向如图① 9、下列有关实验操作正确的是()

10、规范的实验操作是实验成功的保证。下列实验操作错误的是() 11、下列对实验目的及操作的表述中,正确的是() A.为保持稳定,滴加液体时可以将胶头滴管的管口紧靠试管内壁B.安全起见,实验室中加热液体时,液体不能超过试管容积的1/3 C.为节约火柴,可以用燃着的酒精灯去点燃其它的酒精灯 D.为防止酒精挥发,用灯帽盖灭酒精灯火焰后要再盖一次 12、下列实验操作中,正确的()

13、下列有关实验基本操作正确的是() 14、为保证实验安全,下列使用酒精灯的实验操作合理的是() 15、实验室中,药品的存放必须符合一定的规则。下列存放药品时所选择的仪器及存放方式正确的是()

操作系统课程设计文件系统管理)

操作系统课程设计Array文件系统管理 学院计算机学院 专业计算机科学与技术 班级 姓名 学号 2013年1月8日 广东工业大学计算机学院制 文件系统管理 一、实验目的 模拟文件系统的实现的基本功能,了解文件系统的基本结构和文件系统的管理方法看,加深了解文件系统的内部功能的实现。通过高级语言编写和实现一个简单的文件系统,模拟文件管理的工作过程,从而对各种文件操作系统命令的实质内容和执行过程有比较深入的了解。 二、实验内容和要求 编程模拟一个简单的文件系统,实现文件系统的管理和控制功能。在用户程序中通过使用文件系统提供的create,open,read,write,close,delete等文件命令,对文件进行操作。 以下报告主要包括: 1.可行性分析 2.需求分析 3.概要设计

4.详细设计 5.测试 6.总结 三、可行性分析 1、技术可行性 对于图形编程还不了解,但是经过本学期的三次实验的练习,可以设计好命令操作界面。利用大二期间学习的数据结构可以模拟出此课程设计的要求。 2、经济可行性 课程设计作为本课程的练习及进一步加深理解。与经济无关,可以不考虑。(零花费,零收益) 3.法律可行性 自己编写的程序,仅为练习,不作其他用途,与外界没什么联系,可行。 四、需求分析 编写程序实现文件系统,主要有以下几点要求: 1、实现无穷级目录管理及文件管理基本操作 2、实现共享“别名” 3、加快了文件检索 五、概要设计 为了克服单级目录所存在的缺点,可以为每一位用户建立一个单独的用户文件目录UFD(User File Directory)。这些文件目录可以具有相似的结构,它由用户所有文件的文件控制块组成。此外,在系统中再建立一个主文件目录MFD (Master File Directory);在主文件目录中,每个用户目录文件都占有一个目

操作系统实验5文件系统:Linux文件管理

实验5 文件系统:Linux文件管理 1.实验目的 (1)掌握Linux提供的文件系统调用的使用方法; (2)熟悉文件和目录操作的系统调用用户接口; (3)了解操作系统文件系统的工作原理和工作方式。 2.实验内容 (1)利用Linux有关系统调用函数编写一个文件工具filetools,要求具有下列功能:*********** 0. 退出 1. 创建新文件 2. 写文件 3. 读文件 4. 复制文件 5. 修改文件权限 6. 查看文件权限 7. 创建子目录 8. 删除子目录 9. 改变当前目录到指定目录 10. 链接操作 *********** 代码: #include #include #include #include #include #include #include #include void menu(void); void openfile(void); void writefile(void); void readfile(void); void copyfile(void); void chmd(void); void ckqx(void); void cjml(void); void scml(void); void ggml(void); void ylj(void); int main() { int choose; int suliangjin=1;

menu(); scanf("%d",&choose); while(choose!=0) { switch(choose) { case 1:openfile();break; case 2:writefile();break; case 3:readfile();break; case 4:copyfile();break; case 5:chmd();break; case 6:ckqx();break; case 7:cjml();break; case 8:scml();break; case 9:ggml();break; case 10:ylj();break; } menu(); scanf("%d",&choose); } return 0; } void menu(void) { printf("文件系统\n"); printf("1.创建新文件\n"); printf("2.写文件\n"); printf("3.读文件\n"); printf("4.复制文件\n"); printf("5.修改文件权限\n"); printf("6.查看文件权限\n"); printf("7.创建子目录\n"); printf("8.删除子目录\n"); printf("9.改变目前目录到指定目录\n"); printf("10.链接操作\n"); printf("0.退出\n"); printf("请输入您的选择...\n"); } void openfile(void) { int fd; if((fd=open("/tmp/hello.c",O_CREAT|O_TRUNC|O_RDWR,0666))<0) perror("open");

(完整版)初中化学实验基本操作练习题

化学实验基本操作同步练习 一、选择题 1、对化学实验剩余的药品,处理方法正确的是() A.带回家中 B.随意倾倒在水槽中 C.倒入指定的容器中 D.倒回原试剂瓶中 2、下列仪器中,不能在酒精灯上直接加热的是() A.试管 B.烧杯 C.蒸发皿 D.燃烧匙 3、下列仪器中,不能作为反应容器的是() A.烧杯 B.集气瓶 C.量筒 D.试管 4、下列仪器中,可与试管、烧杯、蒸发皿归为一类的是() A.集气瓶 B.漏斗 C.量筒 D.锥形瓶 5、下列基本操作中不正确的是() A.用酒精灯火焰的外焰部分给物质加热 B.过滤时,液体应沿着玻璃棒流入过滤器 C.一般用药匙或镊子取用固体药品 D.使用天平时,用手取用砝码 6、给试管里的物质加热时,切勿让试管底部接触灯芯,这是因为() A.将使酒精燃烧不完全 B.易使酒精灯熄灭 C.灯芯温度低,易使已受热后的试管受热不均匀而破裂 D.灯芯温度高,易使试管底部溶化 7、下列基本实验操作正确的是() A.用药品不定量时,固体一般去1~2克 B.安装过滤器时,滤纸边缘高于漏斗口 C.蒸发食盐水,用玻璃棒不断搅拌液体 D.酒精灯不用的时候,一定要盖上灯帽 8、下列实验操作,不正确的是() A. 向试管里倾倒液体试剂时,试剂瓶标签应朝向手心 B. 实验剩余的药品必须放回原瓶 C. 取液后的滴管,放置时应保持橡胶乳头在上 D. 用量筒量取液体时,视线要与量筒内凹液面的最低处保持水平 9、下列仪器中,能在酒精灯火焰上直接加热的是() A. 集气瓶 B. 量筒 C. 试管 D. 烧杯

10、用量筒量取液体时,某同学操作如下:量筒放平稳,面对刻度,仰视液体凹液面最低处,读数为19mL。倾倒出一部分液体,又俯视液体凹液面最低处,读数为11mL。这位同学取出液体的体积是() A. 8mL B. 大于8mL C. 小于8mL D. 无法判断 11、下列说法中正确的是() A. 可以用燃着的酒精灯去点燃另一个酒精灯 B. 实验室可以用品尝味道的方法鉴别一些无毒性的试剂 C. 实验过程中,不慎将稀硫酸溅到衣服上,可以不作处理 D. 不小心将酒精灯碰倒在实验台上,致使酒精溢出燃烧,可以立即用湿抹布盖灭 12、下列实验操作①用量筒量取液体时,将量筒放在水平的桌面上,右手握试剂瓶(标签向掌心)慢慢倒入量筒中②用完滴瓶上的滴管要用水冲洗后放回滴瓶中③实验室里两个失去标签的试剂瓶中均装有白色固体,为了分清哪瓶是白砂糖,哪瓶是食盐,可取少量固体品尝味道。其中()A. 只有①正确 B. 只有②正确 C. 只有③正确 D. 全部错误 13、下列化学实验基本操作正确的是() A. 取块状固体药品时,如果没有镊子可以用手拿 B. 应该用酒精灯的外焰给物质加热 C. 有腐蚀性的药品应放在纸上称量 D. 用胶头滴管滴加液体时,其下端应紧贴试管内壁 14、用托盘天平称量3.6克食盐,称量中发现指针向右偏转,此时应() A. 加砝码 B. 加药品 C. 减药品 D. 调节螺丝向左旋 15、量取8毫升稀硫酸应选用的仪器是() A. 50毫升量筒 B. 50毫升量筒和胶头滴管 C. 10毫升量筒 D. 10毫升量筒和胶头滴管 16、下列各组仪器,能用来加热液体药品的一组是() A. 量筒、蒸发皿、烧杯 B. 量筒、蒸发皿、试管 C. 集气瓶、蒸发皿、试管 D. 烧杯、蒸发皿、试管 17、在进行过滤操作时,除了使用铁架台、烧杯、玻璃棒以外,还需要的仪器是() A. 酒精灯 B. 托盘天平 C. 蒸发皿 D. 漏斗

进程管理实验报告文档

实验一进程管理 1.实验目的: (1)加深对进程概念的理解,明确进程和程序的区别; (2)进一步认识并发执行的实质; (3)分析进程争用资源的现象,学习解决进程互斥的方法; (4)了解Linux系统中进程通信的基本原理。 2.实验预备内容 (1)阅读Linux的源码文件,加深对进程管理概念的理解; (2)阅读Linux的fork()源码文件,分析进程的创建过程。 3.实验内容 (1)进程的创建: 编写一段程序,使用系统调用fork() 创建两个子进程。当此程序运行时,在系统中有一个父进程和两个子进程活动。让每一个进程在屏幕上显示一个字符:父进程显示字符“a”,子进程分别显示字符“b”和“c”。试观察记录屏幕上的显示结果,并分析原因。 源代码: #include <> #include <> #include #include <> main() {

int p1,p2; p1=fork(); ockf()函数是将文件区域用作信号量(监视锁),或控制对锁定进程的访问(强制模式记录锁定)。试图访问已锁定资源的其他进程将返回错误或进入休态,直到资源解除锁定为止。而上面三个进程,不存在要同时进入同一组共享变量的临界区域的现象,因此输出和原来相同。 (3) a) 编写一段程序,使其实现进程的软中断通信。 要求:使用系统调用fork() 创建两个子进程,再用系统调用signal() 让父进程捕捉键盘上来的中断信号(即按DEL键);当捕捉到中断信号后,父进程用系统调用Kill() 向两个子进程发出信号,子进程捕捉到信号后分别输出下列信息后终止: Child Process 1 is killed by Parent! Child Process 2 is killed by Parent! 父进程等待两个子进程终止后,输出如下的信息后终止: Parent Process is killed!

化学实验基本操作练习题

考题训练(十七) 化学实验的基本操作 夯实基础 考点1常用仪器的用途 1.科学实验中,药品和仪器的存放应当符合一定的规范。下列物质存放在对应的容器中,符合规范的是() 图K17-1 2.能用酒精灯直接加热的仪器是() A.漏斗B.量筒C.试管D.烧杯 3.图K17-2所示是初中化学实验室常用的四种仪器,按要求填空。 图K17-2 (1)用作配制溶液和较大量试剂的反应容器的是________(填仪器名称)。 (2)量筒的用途是用来量度____________。 (3)用完酒精灯后,要盖好灯帽,因为酒精有________。 (4)取液后的滴管应保持橡胶胶帽在上,以免__________________________________。 考点2化学实验的基本操作 4.下列做法不符合实验室安全守则的是() A.打翻燃着的酒精灯,用湿抹布盖灭 B.为避免中毒,不得品尝化学药品 C.为避免触电事故,不能用湿手接触电源 D.实验结束后,将有毒溶剂直接倒入水槽 5.实验结束后,图K17-3所示仪器的处理方式中正确的是() 图K17-3 6.下列实验操作正确的是() 图K17-4 7.下列实验操作正确的是()

图K17-5 8.下列实验操作符合安全要求的是() 图K17-6 9.下列有关实验操作及分析均合理的是() A.排水法收集O2:导管口刚有气泡冒出立即收集,收集到的O2更纯净 B.去除粗盐中难溶性杂质:将粗盐全部加入水中立即过滤,导致产率偏低 C.测定空气里O2含量:点燃红磷慢慢伸入集气瓶并塞紧瓶塞,导致测定结果偏低 D.探究CO2性质:将CO2快速倒入盛有燃着蜡烛的烧杯中,便于观察低处蜡烛先熄灭 10.量筒中盛有一定量的液体,如果将量筒举过头顶读数,则读取的体积读数与液体的实际体积相比() A.偏小B.偏大 C.没有影响D.与人的身高有关 11.玻璃仪器常附着难清洗的物质,下列清洗方法不可行的是() A.内壁有CaCO3的试管用稀盐酸清洗 B.内壁有碘的试管用酒精清洗 C.内壁有Fe2O3的试管用NaOH溶液清洗 D.内壁有植物油的试管用洗洁精清洗 12.下列的“错误实验操作”与其对应的“可能产生的后果”不一致的是() 图K17-7 能力提升 1.用推拉注射器活塞的方法可以检查如图K17-8装置的气密性,当缓慢推动活塞时,如果装置气密性良好,则能观察到()

化学实验基本操作专项练习题

化学实验基本操作专项练习题 一、选择题(下列每小题只有一个选项符合题意,把符合题意的选项填入题后括号中) 1.下列实验操作中,正确的是() 2.量取8mL水稀释浓硫酸的下列操作错误的是() 3.下列实验操作中,正确的是() 4.下列各图是初中化学的几个实验操作,其中正确的是() 5.化学实验必须规范,否则容易发生安全事故。你认为下列实验操作正确的是() 6.下列图示实验操作错误的是() 7.学习化学,我们对商品的标签和标志有了更深层次的认识,以下四枚标志使用不恰当的是 ()

8.徐浩同学准备了下列仪器和用具:烧杯、铁架台、铁圈、石棉网、酒精灯、玻璃棒、蒸发皿、坩埚钳、火柴。从缺乏仪器或用具的角度看,他不能进行的实验操作是() A.溶解B.过滤C.蒸发D.给溶液加热 9.在实验室中有下列实验用品:①酒精灯、②铁架台、铁圈、石棉网、酒精灯、玻璃棒、蒸发皿、坩埚钳、火柴。从缺乏仪器或用具的角度看,他不能进行的实验操作项目是() A.溶解B.过滤C.蒸发D.给溶液加热 10.下列实验操作正确的是() 11.下列实验操作能达到预期目的的是() A.用10mL的量筒量取9.0mL的水 B.用托盘天平称取10.58克的碳酸钠粉末 C.用向下排空气法收集纯净的氢气 D.用150mL酒精和50mL水精确配制200m L医用消毒酒精 12.做溶解、过滤、蒸发实验均要用到的一种仪器是()A.试管B.烧杯C.酒精灯D.玻璃棒 13.配制10%的氯化钠溶液时,不会引起溶液中氯化钠的质量分数偏小的是() A.用量筒量取水时仰视读数B.配制溶液的烧杯用少量的蒸馏水润洗 C.氯化钠晶体不纯D.转移已配好的溶液时,有少量溶液溅出 14.“神舟7号”载人航天飞船发射成功,极大地增强了我们的民族自豪感。在航天飞船的失重环境中,下列实验操作最难完成的是()A.结晶B.蒸发C.溶解D.过滤 15.某学生用量筒量取液体,视线与液体凹液面的最低处保持相平,读数为30mL,将液体倒出一部分后,俯视读数为20mL,则该同学实际倒出的液体体积为() A.大于10m L B.小于10m L D.等于10m L D.无法确定 16.郝颖同学在化学课上提出,可用澄清石灰水检验人呼出的气体是否是二氧化碳气体,就这一过程而言,属于科学探究环节中的()A.建立假设B.收集证据C.设计实验D.作出结论 17.实验结束后,下列仪器的放置方法正确的是() 二、填空与简答题 18.在实验室中有下列实验用品:①酒精灯、②试管夹、③10mL量筒、④100mL量筒⑤烧杯、⑥漏斗、⑦蒸发皿、⑧玻璃棒、⑨铁架台(带铁圈)⑩滤纸,请按要求选择相应实验用品填空(填序号) (1)加热试管里的药品应使用; (2)量取5mL液体应使用; (3)过滤操作中应使用; (4)蒸发、结晶操作中应使用。

linux 实验报告 文件系统与文件管理

学生课程实验报告书课程:《linux网络操作系统》 级系 专业班 学号: 姓名: 指导教师:

一、实验项目:用户与组群管理 二、实验日期: 三、实验原理: 1.熟悉Linux下常用的操作指令。 2.加深对文件,目录,文件系统等概念的理解。 3.掌握Linux文件系统的目录结构。 4.掌握有关Linux文件系统操作的常用命令。 5.了解有关文件安全方面的知识。 四、实验仪器: PC机 Redhat网络操作系统 五、实验步骤(纸张不够写可另外加纸并应装订): 进入虚拟机,并在此平台上练习文件管理有关命令.一般在[root @ localhost xxxx]$ 提示符下键入有关命令。 1.浏览文件系统 〈1〉运行pwd命令,确定你当前的工作目录。 〈2〉利用以下命令显示当前工作目录的内容:(理解各字段彻底意义。) 〈3〉运行以下命令:(反馈信息中.代表本身目录,..代表其父目录;选项a可以显示隐藏文件;选项i 可以显示文件的I节点号) ls –ai 〈4〉使用mkdir命令建立一个子目录subdir,并用ls查看当前目录。 〈5〉使用带-d选项的ls命令,你只能看到有关子目录的信息(.表示本身目录)。

〈6〉使用cd命令,将工作目录改到根目录(/)上。 ①用相对路径将工作目录改到根目录。 ②用绝对路径将工作目录改到根目录。 〈7〉使用ls命令列出根目录的内容,再分别列出各子目录的内容,体会各目录作用及访问权限。 〈8〉使用ls-l命令列出/dev的内容。 Ls –l /dev 列出/dev目录的内容,文件太多显示多屏,各行第一个字符为b的表示块特别文件;各行第一个字符为c的表示字符特别文件。 〈9〉使用不带参数的命令cd,然后用pwd命令确定你当前的工作目录是什麽。 〈10〉使用命令cd ../..,你将工作目录移到什麽地方? 2.查看你的文件 〈1〉利用cd命令,将工作目录改到你的主目录上。 〈2〉将工作目录改到你的子目录subdir,然后运行命令: date > file1 将当前日期和时间存放到新建文件file1中。 Ls –l 反馈信息中有新文件 file1。请注意并记下文件长度为:

操作系统实验文件管理C 代码

#include #include #include #include #include using namespace std; #define BLKSIZE 512 // 数据块的大小 #define BLKNUM 512 // 数据块的块数 #define INODESIZE 32 // i节点的大小 #define INODENUM 32 // i节点的数目 #define FILENUM 8 // 打开文件表的数目//用户 typedef struct { char user_name[10]; // 用户名 char password[10]; // 密码 } User; //i节点 typedef struct { short inum; // 文件i节点号 char file_name[10]; // 文件名

char type; // 文件类型 char user_name[10]; // 文件所有者 short iparent; // 父目录的i节点号 short length; // 文件长度 short address[2]; // 存放文件的地址 } Inode; //打开文件表 typedef struct { short inum; // i节点号 char file_name[10]; // 文件名 short mode; // 读写模式(1:read, 2:write, // 3:read and write) } File_table; // 申明函数 void login(void); void init(void); int analyse(char *); void save_inode(int); int get_blknum(void); void read_blk(int); void write_blk(int);

《化学实验基本操作训练》考题及要求(有答案)

《化学实验基本操作训练》考题及要求 答案仅供参考 一、说出下列化学实验仪器的名称 1 干燥器 2 电热套 3 蒸发皿4洗瓶 5 称量瓶 6 试剂瓶 7 锥形瓶 8 抽滤瓶9滴瓶 10 漏斗11 量筒12 1000 ml容量瓶13 量杯14分液漏斗

15移液管16 酸式滴定管17碱式滴定管18刺形分馏柱19直形冷凝柱20球形冷凝柱 21 布氏漏斗22 烧瓶23 蒸馏头24 接引管25滴管 二、判断题 1、洗净的玻璃仪器如烧杯、试剂瓶等不能倒扣在实验台上。(V) 2、洗瓶尖嘴不能接触容器内壁。(V) 3、铬酸洗液不能重复使用。(X) 4、量筒洗净后应放在烘箱中烘干。(X) 5、用烘箱烘干玻璃仪器时,烘箱的温度可设定为105~110℃。(V) 6、化学实验操作过程中,头不可伸入到通风厨中。(V) 7、分析纯、化学纯试剂的标签颜色分别为红色、蓝色。(V) 8、固体试剂装入广口试剂瓶,液体试剂装入细口试剂瓶。(V) 9、可以将鼻孔靠近试剂瓶口去感觉试剂的气味。(X) 10、在使用容量瓶、分液漏斗前,磨口玻璃塞要用橡皮筋系在瓶口。(V) 11、取用化学试剂时,若没有说明用量则应按照最少量取用:液体取l~2mL,固体只需盖满试管底部。(V) 12、实验过程中,未用完的化学药品不能放回原来的试剂瓶中,要将其丢弃。(X)

13、用胶头滴管往容器中加入较少量液体时,胶头滴管要垂直悬空。(V) 14、采用倾倒法取用液体试剂时,试剂瓶的标签要靠在手心,试剂瓶口不能与承接试剂的容器口接触。(X) 15、为将粉末状固体试剂送入容器的底部,可以使用纸片折成的V型槽。(V) 16、用托盘天平称量固体试剂时,砝码应放在右盘。(V) 17、称量0.1200~0.1300g药品时,要用加重法在分析天平上进行。(X) 18、带有刻度的烧杯可以作用量器使用。(X) 19、称量瓶不能用手直接接触,而要用纸带套住称量瓶。(V) 20、要待分析天平的零点显示稳定后方可进行称量操作。(V) 21、用移液管移取一定量的液体时,留在移液管尖嘴的少量液体要用洗耳球吹出。(X) 22、碱式滴定管通过玻璃珠和橡皮管间的缝隙大小来控制滴定速度。(V) 23、酸碱滴定管除可用于酸碱滴定外,也可用于量取一定体积的溶液。(V) 24、滴定用的锥形瓶在洗净后一定要烘干方可使用。(X) 25、量筒的刻度值为“上小下大”,滴定管的刻度值为“上大下小”。(X) 26、用移液管移取试剂瓶中的液体时,移液管要插入到试剂瓶的底部。(X) 27、从移液管中放出液体到容器中时,移液管的尖嘴口要接触容器内壁。(V) 28、在滴定开始前,滴定管尖嘴部分的气泡可以不予排出。(X) 29、滴定管使用完后,要洗净并倒置夹在滴定台的蝴蝶夹上。(V) 30、如果酸式滴定管的玻璃旋塞处漏液,可以采用在旋塞上涂抹凡士林来处理。(V) 31、分液漏斗的旋塞操作方法和酸式滴定管相同。(V) 32、从分液漏斗中放出液体时,上下层液体均应从下口放出。(X) 33、普通常压过滤时,漏斗流出口的尖嘴端不能靠在烧杯的内壁。(X) 34、过滤时,要将待过滤液直接倒入漏斗中。(X) 35、布氏漏斗中不用放入滤纸。(X) 36、为了维持过滤时滤液较高的温度,应采用热过滤,热过滤又称保温过滤。(V) 37、分液漏斗使用前不用检查是否漏液。(X) 38、减压过滤时,吸滤瓶的支管口要通过橡皮管与真空泵相连。(X) 39、抽滤完成后,应先关闭真空泵再拨开抽滤瓶上的橡皮管。(X) 40、减压过滤简称为抽滤或吸滤,比常压过滤的速度更快。(V) 41、蒸馏时,圆底烧瓶中装入的液体不能超过烧瓶容积的2/3。(V) 42、蒸馏装置的安装应遵循“从下往上,从左往右”的顺序,拆卸顺序与安装顺利相同。(X) 43、蒸馏完成后,要先关闭冷凝水,再停止加热。(X) 44、蒸馏时,温度计从蒸馏头上口插入的深度没有明确要求。(X) 45、当液体的沸点差距小于30℃时,要使用分馏方法来进行分离,而不能使用蒸馏。(V) 46、安装分馏装置时,接引管应伸入到接收器中,但不能接触接收器内壁。(V) 47、当蒸汽温度超过140℃时,依然可以使用水冷凝管。(X)

文件系统与文件管理

学生课程实验报告书课程:《Linux操作系统》 级系 专业班 学号: 姓名: 指导教师: 2012—2013学年第 2 学期

一、实验项目:文件系统与文件管理 二、实验日期:2011年11月21日 三、实验原理: 掌握文件系统的挂载与卸载;磁盘配额管理;文件的权限修改;文件的归档与压缩; 四、实验仪器: PC机 Redhat网络操作系统 五、实验步骤(纸张不够写可另外加纸并应装订): 1.对/文件系统实施用户级配额管理,对普通用户hellen与jerry进行配额 管理,磁盘空间软配额为300M,硬配额为350M,文件数量配额为:软配额12个,硬配额为15个。写出配额的具体步骤,并测试用户级配额是否成功。 答案:首先,创建hellen和jerry两个用户,配额步骤如下: 1)使用任何文本编辑工具编辑/etc/fstab文件,对“LABEL=/”所在行进行修改,增加命令选项usrquota。 2)重启电脑或者输入mount –o remount / 重新挂载/ 3)利用quotacheck命令创建https://www.wendangku.net/doc/3314092664.html,er文件。 #touch https://www.wendangku.net/doc/3314092664.html,er #quotacheck –mc /home

4)edquota hellen ,编辑hellen用户的bolck的软配额为300M,硬配额为350M,inodes的软配额为12个,硬配额为15个,修改内容如下: block soft hard inodes soft hard 0 307200 358400 0 12 15 5)将同样的配额设定复制给jerry用户 # edquota -p hellen jerry 6)启动配额管理 #quotaon –avu 之后,对配额进行测试,发现当拷贝文档个数大于12个或者文件大小超过300M的时候,终端进行警告提示,当文件个数大于15个或者文件大小超过350M的时候,不能往/写入任何内容。 2.在桌面环境下,选中有个文件或文件夹进行相应权限的修改。 3.用chmod命令分别用数字模式和功能模式修改/root/install.log文件属性。 答案:功能模式下修改权限 1)增加同组用户写入:chmod g+w /root/install.log 2)增加其他用户写入:chmod o+w /root/install.log 3)增加文件所有者写入:chmod u+w /root/install.log 4)增加同组用户读:chmod g+r /root/install.log 5)增加其他用户读:chmod o+r /root/install.log 6)增加文件所有者读:chmod u+r /root/install.log

九年级化学实验基本操作同步练习题.

九年级化学实验基本操作同步练习题 1.对化学实验剩余的药品,处理方法正确的是() A.带回家中 B.随意倾倒在水槽中 C.倒入指定的容器中 D.倒回原试剂瓶中2.下列仪器中,不能在酒精灯上直接加热的是() A.试管 B.烧杯 C.蒸发皿 D.燃烧匙 3.下列仪器中,不能作为反应容器的是() A.烧杯 B.集气瓶 C.量筒 D.试管 4.托盘天平指针不在分读盘中线而是偏向右边就称量,当天平平衡时,称得的质量比实际质量数值() A.偏大 B.偏小 C.相等 D.无法确定 5.下列仪器中,可与试管、烧杯、蒸发皿归为一类的是() A.集气瓶 B.漏斗 C.量筒 D.锥形瓶 6.下列基本操作中不正确的是() A.用酒精灯火焰的外焰部分给物质加热 B.过滤时,液体应沿着玻璃棒流入过滤器 C.一般用药匙或镊子取用固体药品 D.使用天平时,用手取用砝码 7.给试管里的物质加热时,切勿让试管底部接触灯芯,这是因为() A.将使酒精燃烧不完全 B.易使酒精灯熄灭 C.灯芯温度低,易使已受热后的试管受热不均匀而破裂 D.灯芯温度高,易使试管底部溶化 8.下列基本实验操作正确的是() A.用药品不定量时,固体一般去1~2克 B.安装过滤器时,滤纸边缘高于漏斗口 C.蒸发食盐水,用玻璃棒不断搅拌液体 D.酒精灯不用的时候,一定要盖上灯帽

9、填写下列空白 (1)液体药品经常盛放在里,取用时,瓶塞应在实验台上,试剂瓶口与试管口应。若实际没有说明用量,液体应取ml (2)实验室里的药品很多是易燃,易爆有性,有性的药品,因此在使用时,接触药品,不要把鼻孔凑到容器口,更不得尝。 (3)把块状药品或密度较大的金属颗粒放入玻璃容器时,应先把容器,把药品或金属颗粒放入容器口后,再把容器。 (4)用1/3,2/3,45°等数字填空:①向酒精灯内添加酒精时,不能超过酒精灯容积的;②用试管夹夹持试管时,试管夹应夹持在距管口处;③给试管内液体加热时,液体体积应不超过试管容积的。 (5)使用酒精灯时,要注意几点:①绝对禁止向添加酒精;②绝对禁止用点燃另一酒精灯;③用完酒精灯,必须用盖灭,不可用;④万一酒精洒出,在桌面上燃烧起来,应立即用灭。 (6)洗涤干净的试管应插在上晾干 【练习答案】 1.C 2.B 3.C 4.B 5. 6.D 7.C 8.D 9. (1)细口试剂瓶,倒放紧贴1-2 (2)腐蚀毒不能用手去闻药品的气味药品的味道 (3)横放缓缓竖立起来 (4)2/31/3 1/3 (5)燃着的酒精灯里,燃着的酒精灯灯帽嘴吹湿抹布盖 (6)倒试管架

计算机操作系统实验-文件管理

哈尔滨工业大学计算机科学与技术学院 实验报告 课程名称:操作系统 课程类型:必修 实验项目名称:文件管理 实验题目:设计一个多用户的文件系统 班级:实验学院一班 学号:6040310110 姓名:张元竞 设计成绩报告成绩指导老师

一、实验目的 随着社会信息量的极大增长,要求计算机处理的信息与日俱增,涉及到社会生活的各个方面。因此,文件管理是操作系统的一个非常重要的组成部分。学生应独立用高级语言编写和调试一个简单的文件系统,模拟文件管理的工作过程。从而对各种文件操作命令的实质内容和执行过程有比较深入的了解,掌握它们的实施方法,加深理解课堂上讲授过的知识。 二、实验要求及实验环境 用高级语言编写和调试一个简单的文件系统,模拟文件管理的工作过程。要求设计一个10个用户的文件系统,每次用户可保存10个文件,一次运行用户可以打开5个文件。系统能够检查打入命令的正确性,出错时能显示出错原因。对文件必须设置保护措施,例如只能执行,允许读等。在每次打开文件时,根据本次打开的要求,在此设置保护级别,即有二级保护。文件的操作至少有Create、delete、open、close、read、write等命令。 所编写的程序应采用二级文件目录,即设置主文件目录和用户文件目录。前者应包含文件主及它们的目录区指针;后者应给出每个文件占有的文件目录,即文件名,保护码,文件长度以及它们存放的位置等。另外为打开文件设置运行文件目录(AFD),在文件打开时应填入打开文件号,本次打开保护码和读写指针等。 三、设计思想(本程序中的用到的所有数据类型的定义,主程序的流程图及各程序模块之间的调用关系)

兰州大学操作系统实验七存储管理题目和答案

实验七实验报告 实验名称:7 存储管理 实验目的: 1.观察系统存储器使用情况 2.观察进程使用存储器的情况 3.掌握通过内存映像文件提高性能的方法 4.掌握动态内存分配技术 实验时间 3学时 预备知识: 1.存储相关的命令 free 显示系统使用和未被使用的内存数量(可以实时执行) 输出包含的标题有 3 行信息: Mem。此行包含了有关物理内存的信息。包括以下详细内容: total。该项显示可用的物理内存总量,单位为KB。该数字小于安装的物理内存的 容量,是因为内核本身也要使用一小部分的内存。 used。该项显示了用于应用程序超速缓存数据的内存容量。 free。该项显示了此时未使用且有效的内存容量。 Shared/buffers 缓冲区/cached。这些列显示了有关内存如何使用的更为详细的信息。 -/+ buffers/cache。Linux 系统中的部分内存用来为应用程序或设备高速缓存数据。这部分内存在需要用于其他目的时可以释放。 free列显示了调整的缓冲区行,显示释放缓冲区或高速缓存时可以使用的内存容量。 Swap。该行显示有关交换内存利用率的信息。该信息包含全部、已使用和释放的可用内存容量。 vmstat 报告进程、内存、分页、IO等多类信息(使用手册页) size 列出目标文件段大小和总大小(使用手册页)

2./proc文件系统(使用手册页man 5 proc) /proc/meminfo 内存状态信息 /proc/stat 包含内存页、内存对换等信息。 /proc/$pid/stat 某个进程的信息(包含内存使用信息) /proc/$pid/maps某个进程的内存映射区信息,包括地址范围、权限、偏移量以及主次设备号和映射文件的索引节点。 /proc/$pid/statm 某个进程的内存使用信息,包括内存总大小、驻留集大小、共享页面数、文本页面数、堆栈页面数和脏页面数。 3.内存映像文件 内存映像文件是指把一个磁盘文件映像到内存中,二者存在逐字节的对应关系。这样做可以加速I/O操作,并可以共享数据。 3.1 mmap(建立内存映射) 表头文件#include #include 定义函数void *mmap(void *start,size_t length,int prot,int flags,int fd,off_t offsize); 函数说明mmap()用来将某个文件内容映射到内存中,对该内存区域的存取即是直接对该文件内容的读写。参数start指向欲对应的内存起始地址,通常设为NULL,代表让系统自动选定地址,对应成功后该地址会返回。参数length代表将文件中多大的部分对应到内存。 参数prot代表映射区域的保护方式有下列组合 PROT_EXEC 映射区域可被执行 PROT_READ 映射区域可被读取 PROT_WRITE 映射区域可被写入 PROT_NONE 映射区域不能存取 参数flags会影响映射区域的各种特性 MAP_FIXED 如果参数start所指的地址无法成功建立映射时,则放弃映射,不 对地址做修正。通常不鼓励用此旗标。 MAP_SHARED对映射区域的写入数据会复制回文件内,而且允许其他映射该 文件的进程共享。 MAP_PRIV A TE 对映射区域的写入操作会产生一个映射文件的复制,即私人的

化学实验基本操作测试题

化学实验基本操作测试题 1.用试管加热固体时,有时因操作不正确而出现试管炸裂的现象,其原因分析不可能是 A.加热前试管外壁有水 B.没有预热试管 C.试管口略向上倾斜了 D.试管夹夹在试管中上部了 2.下列化学实验基本操作正确的是 3.做镁条燃烧实验时,用于夹持镁条的仪器是 A.试管夹 B.铁夹 C.坩埚钳 D.以上三种均可 6.关于实验基本操作方法的归纳错误的是 A.点燃可燃性气体之前必须检验气体的纯度 B.制取气体时应先检验装置的气密性再装药品 C.H2还原CuO完毕,应先熄灭酒精灯继续通H2到试管冷却 D.蒸发操作时,蒸发皿必须放在石棉网上,用酒精灯外焰加热 7.关于玻璃棒作用,描述错误的是 A.过滤时:引流液体 B.捣碎固体时:研磨固体 C.加速固体溶解时:搅拌溶液 D.测溶液pH时:蘸取试液 8.某同学用量筒量取液体,量筒平稳且面向刻度线,初次平视液面,读数为19.0ml,倾倒出部分液体后,俯视液面,读数为11.0ml,则实际倾倒出液体的体积是 A.8.0ml B.大于8.0ml C.小于8.0ml D.无法判断 9.用托盘天平称量10g某物质时,如果天平指针偏左,则需要 A.添加砝码 B.取下砝码 C.增加称量物 D.减少称量物 10.在学习化学的一年中,同学们做了教材上的八个基础实验,让同学们切身体会到规范操作的重要性。下列实验操作符合规范要求的是A.“探究碳酸钠的性质”实验中,测定溶液pH时应先将试纸湿润

B.“粗盐的提纯”实验中,过滤时将悬浊液直接倒入漏斗里 C.“配制一定溶质质量分数的溶液”实验中,多余的药品应放回原瓶 D.“高锰酸钾制取氧气”实验中,收集好气体后应先将导管移出水槽再停止加热 11.如果配制6%的氯化钠溶液的溶质质量分数偏小,其原因是 A.称取的氯化钠固体质量偏大 B.转移称量好的氯化钠同体时,有少量洒落在桌面上 C.量取水的体积偏小 D.转移配制好的溶液时,有少量液体溅出 12.用配制一定溶质质量分数的食盐溶液,实验时必不可少的一组仪器是() A.量筒、烧杯、漏斗、玻璃棒 B.托盘天平、玻璃棒、药匙、量筒 C.托盘天平、玻璃棒、量筒、烧杯、药匙 D.量筒、玻璃棒、烧杯、胶头滴管 13.对下列实验指定容器中的液体,其解释没有体现液体的主要作用的是 14.下列实验结论正确的是 A.向某无色溶液中滴加酚酞试液无现象,则溶液一定呈中性 B.向某固体中滴加稀盐酸,有气泡产生,该固体一定是碳酸盐 C.12mL蒸馏水和20mL酒精混合后,体积小于32mL,说明分子之间有间隙 D.将洗涤剂滴加到少量植物油和水的混合物中,振荡、静置,不分层,说明植物油可溶于水 15.(5分)化学实验基本操作在化学学习和研究中具有重要作用。现有下列仪器A.试管B镊子C.蒸发皿D.集气瓶E.广口瓶F.胶头滴管G.量筒H.药匙I.燃烧匙J.试管夹,选取相应的序号填空。 ①取用少量粉末状固体药品应使用;②可以直接在酒精灯火焰上加热的玻璃仪器是; ③贮存固体药品的仪器是;④用来夹持试管的工具;⑤量取10ml的液体药品应使用。 16.(6分)下面是实验室常用的仪器 请回答下列的问题: (1)配置溶液时用到的仪器有__________ (填序号)。 (2)仪器⑧和⑤的名称分别是__________。 (3)蒸发时除了用到③和⑧号仪器外,还要用到带有铁圈的铁架台和__________ (填仪器名称)。 (4)用仪器①能否量取8.68ml溶液__________ (填“能”或“否”)。 17.(9分)实验中学进行化学实验操作考试,准备了三个考题:①氧气的制取、收集和验满②分子是不断运动的探究③过滤。 小华同学抽签后被监考老师引导至准备了下列仪器和药品的实验台前:请回答:

操作系统精髓与设计原理-第12章-文件管理

第12章文件管理 复习题: 12.1、域和记录有什么不同? 答:域(field)是基本数据单位。一个域包含一个值。记录(record)是一组相关的域的集合,它可以看做是应用程序的一个单元。 12.2、文件和数据库有什么不同? 答:文件(file)是一组相似记录的集合,它被用户和应用程序看做是一个实体,并可以通过名字访问。数据库(database)是一组相关的数据集合,它的本质 特征是数据元素间存在着明确的关系,并且可供不同的应用程序使用。 12.3、什么是文件管理系统? 答:文件管理系统是一组系统软件,为使用文件的用户和应用程序提供服务。12.4、选择文件组织时的重要原则是什么? 答:访问快速,易于修改,节约存储空间,维护简单,可靠性。 12.5、列出并简单定义五种文件组织。 答:堆是最简单的文件组织形式。数据按它们到达的顺序被采集,每个记录由一串数据组成。顺序文件是最常用的文件组织形式。在这类文件中,每个记录 都使用一种固定的格式。所有记录都具有相同的长度,并且由相同数目、长度 固定的域按特定的顺序组成。由于每个域的长度和位置已知,因此只需要保存 各个域的值,每个域的域名和长度是该文件结构的属性。索引顺序文件保留 了顺序文件的关键特征:记录按照关键域的顺序组织起来。但它还增加了两个 特征:用于支持随机访问的文件索引和溢出文件。索引提供了快速接近目标记 录的查找能力。溢出文件类似于顺序文件中使用的日志文件,但是溢出文件中 的记录可以根据它前面记录的指针进行定位。索引文件:只能通过索引来访 问记录。其结果是对记录的放置位置不再有限制,只要至少有一个索引的指针 指向这条记录即可。此外,还可以使用长度可变的记录。直接文件或散列 文件:直接文件使用基于关键字的散列。 12.6、为什么在索引顺序文件中查找一个记录的平均搜索时间小于在顺序文件中的平均 搜索时间? 答:在顺序文件中,查找一个记录是按顺序检测每一个记录直到有一个包含符合条件的关键域值的记录被找到。索引顺序文件提供一个执行最小穷举搜索的索引 结构。 12.7、对目录执行的典型操作有哪些? 答:搜索,创建文件,删除文件,显示目录,修改目录。 12.8、路径名和工作目录有什么关系? 答:路径名是由一系列从根目录或主目录向下到各个分支,最后直到该文件的路径 中的目录名和最后到达的文件名组成。工作目录是一个这样的目录,它是含有用 户正在使用的当前目录的树形结构。 12.9、可以授予或拒绝的某个特定用户对某个特定文件的访问权限通常有哪些? 答:无(none),知道(knowledge),执行(execution),读(reading),追加(appending), 更新(updating),改变保护(changing protection),删除(deletion)。 12.10、列出并简单定义三种组块方式。 答:固定组块(fixed blocking):使用固定长度的记录,并且若干条完整的记录被保存在一个块中。在每个块的末尾可能会有一些未使用的空间,称为内部碎片。

相关文档
相关文档 最新文档