[自考类试卷]全国自考操作系统(文件系统)模拟试卷3及答案与解析.doc

上传人:rimleave225 文档编号:912819 上传时间:2019-02-28 格式:DOC 页数:10 大小:53KB
下载 相关 举报
[自考类试卷]全国自考操作系统(文件系统)模拟试卷3及答案与解析.doc_第1页
第1页 / 共10页
[自考类试卷]全国自考操作系统(文件系统)模拟试卷3及答案与解析.doc_第2页
第2页 / 共10页
[自考类试卷]全国自考操作系统(文件系统)模拟试卷3及答案与解析.doc_第3页
第3页 / 共10页
[自考类试卷]全国自考操作系统(文件系统)模拟试卷3及答案与解析.doc_第4页
第4页 / 共10页
[自考类试卷]全国自考操作系统(文件系统)模拟试卷3及答案与解析.doc_第5页
第5页 / 共10页
点击查看更多>>
资源描述

1、全国自考操作系统(文件系统)模拟试卷 3 及答案与解析一、单项选择题1 与一般用户的应用联系最多的是操作系统的_部分。(A)存储管理(B)进程管理(C)设备管理(D)文件管理2 如要能快速随机存取、插入和删除文件中的记录,下列的文件组织方法中,最合适的是_。(A)堆(B)索引顺序文件(C)索引文件(D)散列文件3 根据参数 pathname 给出的文件路径名来获取文件的外存 I 节点中的类型、大小、文件主等信息的系统调用是_。(A)stat(B) fstat(C) fopen(D)file4 UNIX 文件的物理结构为_结构。(A)顺序(B)链式(C)索引(D)散列5 在 UNIX 文件管理系

2、统中,设置内存打开文件结构主要是为了_。(A)减少创建文件的时间(B)减少打开文件所需时间(C)减少关闭文件所需时间(D)减少对一个已打开的文件进行读写的时间6 管道允许读写进程按_的次序方式传送数据。(A)先进先出(B)后进先出(C)用户要求(D)顺序二、填空题7 按用途可将文件分为_、_和_。8 按文件的物理结构可将文件主要分为_结构、_结构和_结构。9 在 UNIX 系统中,所有的输入输出设备都被看成_,它们在使用形式上与普通文件相同,但它们的使用是和_程序紧密相连的。10 预先分配文件存储资源的策略需要在_时说明文件的最大长度。11 标准 IO 库主要通过_,向程序员提供了效率高、功能

3、强的文件存取功能。12 _存放了对文件系统的管理信息。13 UNIX 系统中创建有名管道的系统调用是_ 。三、简答题14 文件存储空间的预分配(静态分配)和动态分配各有什么特点?15 为什么没有针对流文件的创建调用?16 说明 UNIX 文件的地址索引结构对文件的几种基本操作方法所具有的缺点和优点。描述如何由文件的逻辑块号 n 找到文件的物理块号(假定一个盘块为 4KB 大小,盘块地址 blkno 占 4 个字节,一个盘块能存储 1024 个盘块地址) 。17 文件系统能允许进程“关闭” 一个不是自己打开的文件吗 ?为什么?18 叙述 UNIX 系统中空闲文件存储块的管理算法。19 Linux

4、 为什么能支持如此众多不同类型的文件系统?四、综合题20 编一个 UNIX 平台上的 C 程序。父进程在创建了子进程后,显示子进程的标识数,并在子进程终止后,打开子进程创建的文件 cmdfile,从文件中读入一个 Shell命令串,并执行该命令串。子进程在当前目录下创建一个只有本用户可读可写的文件 cmdfile,写入从键盘读入的 Shell 命令串后,关闭该文件,并终止运行。五、判断题21 在 UNIX 系统中,systern 是一个系统调用。( )(A)正确(B)错误22 在 UNIX 系统中,对文件执行了一次 unlink 系统调用后,该文件就被删除了。( )(A)正确(B)错误23 在

5、以整块的方法读写盘块时,使用流文件操作比使用系统调用效率高。( )(A)正确(B)错误全国自考操作系统(文件系统)模拟试卷 3 答案与解析一、单项选择题1 【正确答案】 D【知识模块】 文件系统2 【正确答案】 D【试题解析】 在插入和删除文件中的记录时,索引文件要重构索引表,而散列文件只要修改索引项。故散列文件的动态效率优于索引文件。【知识模块】 文件系统3 【正确答案】 A【知识模块】 文件系统4 【正确答案】 C【知识模块】 文件系统5 【正确答案】 D【知识模块】 文件系统6 【正确答案】 A【知识模块】 文件系统二、填空题7 【正确答案】 系统文件、库文件、用户文件【知识模块】 文件

6、系统8 【正确答案】 顺序、链式、索引【知识模块】 文件系统9 【正确答案】 特别文件、设备管理【知识模块】 文件系统10 【正确答案】 创建文件【知识模块】 文件系统11 【正确答案】 用户态空间的自动缓冲机构【知识模块】 文件系统12 【正确答案】 超级块【知识模块】 文件系统13 【正确答案】 mknod()【知识模块】 文件系统三、简答题14 【正确答案】 文件存储空间的预分配策略需要在创建文件时说明文件的最大长度。在一些情况下,例如编译程序产生的数据文件的总量,或通过通信网从其他的系统传输文件时,这个长度能可靠地估计出来。可是,对于很多的应用,要可靠地估计文件的长度是很困难的。在这些

7、情况下,用户和应用程序只能倾向于过高估计文件的长度以便不会用完分配给文件的空间。从存储分配的角度看,这明显是浪费的。但文件存储空间的预分配可以分配到一个连续的或靠近的磁盘空间,这能提高文件数据的传输速度。相反,动态分配在需要时才给文件分配空间,不存在浪费存储空间这个缺点,但一个文件分配到的磁盘空间是不连续的,可能相距较远,在批量传输文件数据时,将耗费较多的寻道时间。【知识模块】 文件系统15 【正确答案】 在 UNIX 的标准 IO 库中,通过一个 BILE 类型结构建立与打开文件的联系。这种组织形式称为流(stream)。流文件通过用户态空间的自动缓冲BILE 结构以及数据类型转化和格式化的

8、 IO,向程序员提供效率高、功能强和可移植的文件访问或字符串处理功能。标准 I O 库的例行程序所操作的流文件也是通过系统调用 creat 创建的。因为流文件首先是为了在读写文件时,通过用户态空间的 BILE 自动缓冲机构,减少对系统调用 read 和 write 的执行次数。故在读写流文件前,就要通过流文件的 fopen 调用分配 BILE 结构。而创建文件不需要立即分配 BILE 结构的缓冲机制,因为用户很可能不使用流文件的调用。在 creat 系统调用后,系统已经写打开指定的文件,可以立即调用 write 写文件,但如果要执行流文件的 fread 或 fwrite 操作,就要用流文件的

9、fopen 调用重新打开文件。【知识模块】 文件系统16 【正确答案】 在文件的内存 I 节点的地址索引表 i_a13中共有 13 个表项,它们记录了文件中所有盘块的地址。UNIX 将这 13 个表项分成 4 种寻址方式。(1)0n9(小型文件) 时:物理块号 blkno=i_an(2)97210+1024( 中型文件 )时:直接索引的 blkno=i_a10物理块号 blkno=直接索引块的第 n-10 项内容(3)10+1024 n10+1024+10241024(大型文件)时:一级间接索引的 blkno=i_a11直接索引的 blkno=-级间接索引块的第 (n-10-1024)1024

10、 项内容物理块号 blkno=直接索引块的第 (n-10-1024)1024 项内容(4)10+1024+10241024n10+1024+10241024+102410241024(超大型文件)时:二级间接索引的 blkno=i_a12一级索引的 blkno=二级间接索引块的第 (n-10-341-10001000)(10001000) 项内容直接索引的 blkno 一一级索引的(n-10-1024-10241024)1024 项内容物理块号 blkno 一直接索引块的第(n-10-1024-10241024)1024 项内容。【知识模块】 文件系统17 【正确答案】 一个用户通过 open

11、 打开了一个文件后,申请了进程控制块 Llser结构中 u_ofile数组的第一个空闲项,指向打开文件结构 file 项,并返回 u_ofile中该项的索引值,即打开文件描述字(打开文件句柄),其他用户的相关进程即使获得了该索引值,一般也无法知道该 file 项的地址,故它的 u_ofile相应项也无法指向该 file 项,故不能允许用户去“ 关闭”一个不是自己打开的文件。【知识模块】 文件系统18 【正确答案】 对空闲文件存储块的直接管理部分采用了与空闲 I 节点相似的栈方式管理,由 s_freeNICBREE最多直接管理 NICBREE 个空闲存储块。但由于文件存储块的数量比磁盘节点区的盘

12、块大得多,且是非结构形式的,故不能采用搜索磁盘文件存储块区的方式获得空闲块。为此,系统在初始化时就将所有的空闲文件存储块组织成如图 171 所示的分组链式结构。在分组链式管理结构中,filsys 中的 s_free 最多直接管理 NICBREE 个空闲存储块,并由 snfree记住当前登记的空闲块数。由 s_free0指示的最后一个直接管理的空闲块又间接管理了下一组 NICBREE 个空闲块,以此类推。实现空闲块分配算法的程序是 alloc,其主要过程是:如果 s_nfree 值不为 0,则在栈顶获得一个空闲存储块号;但当这是 s_free0登记的最后一个空闲块时,由于该空闲块还间接管理了下一

13、组空闲存储块,故在将它分配给文件之前,还要将其中的管理数据复制到超级块中,使间接管理转化为直接管理,这样超级块又登记了 NICBREE 个直接管理的空闲存储块了。释放文件存储块时,将释放块号登记在 s_nfree 所指示的栈顶 s_free 表项中。但如发现表已满,不能再直接登记释放块时,就要将 filsys 直接管理的表项内容复制到释放块,使直接管理转变成间接管理,再将释放块号写入 s_free0中,置 s_nfree为 1。这样,filsys 只直接管理了一个空闲块,但分组链则增加了一个组。【知识模块】 文件系统19 【正确答案】 Linux 系统可以支持不同的文件系统,并构建成一个单一的

14、树状层次结构的文件系统。当磁盘被初始化时(例如使用 fdisk),磁盘上存在着一个分区结构把物理磁盘划分成很多逻辑分区。每个分区可以拥有单个的文件系统,例如一个 Ext2 文件系统。一个文件系统,不管位于什么具体的设备上,必须保持同样的方式和接口来进行操作。使用 Linux 的文件系统时,虽然这些不同的文件系统可以在不同的物理的媒介上,也可以由不同的硬件控制器控制着,但它们对于系统用户是透明的。文件系统甚至也可能并不在本地的磁盘系统上,而是安装在网络的磁盘上。Linux 系统内核包括一个虚拟文件系统层,它能间接地控制文件系统调用,以达到控制物理 IO 的目的。具体地说,当一个进程调用文件系统例

15、程时,内核调用VBS 函数(这个函数是和具体结构无关的),并将这个调用传递给物理文件系统中的相应函数,该函数与具体的物理结构有关。设备驱动程序将传递的数据保存在缓存中,这些缓存中最重要的是缓冲区缓存(buffer cache)。所有的 Linux 文件系统使用相同的缓冲区缓存机制来缓冲来自底层的数据。这个缓冲区缓存是独立于文件系统的,它被集成到 Linux 核心机制中。这个机制的最大优点是它使 Linux 文件系统独立于底层的物理介质,独立于设备驱动程序。【知识模块】 文件系统四、综合题20 【正确答案】 在程序清单 17-3 中,父进程先创建了一个子进程。子进程创建了一个文件,并将从终端上读

16、入的命令写入文件;父进程打开文件后,从文件中读入命令串,并用 Execl 系统调用装入 binsh ,执行该命令。程序清单 17-3:filec#includefcntlh#includestdioh#includeunistdh *execl()*#includestringhmain()int pid,fd;char cmd256;pid=fork();switch(pid)case-1:printf(“System Call Errorn“);break;case 0; * 子进程*fd=creat(“cmdfile“,0600); *创建文件*gets(cmd); *从键盘输入命令串*

17、write(fd,cmd,strlen(cmd)+1); *写文件*close(fd);break;default: *父进程*wait(NULL); *等待子进程终止 *printf(“Childs PID=d n“,pid);fd=open(“cmdfile“,o_RDONLY) ; *打开文件* read(fd,cmd ,sizeof(cmd);execl(“binsh“,“sh“ , “-c“,cmd ,(char*)0);*执行该命令串*。【知识模块】 文件系统五、判断题21 【正确答案】 B【知识模块】 文件系统22 【正确答案】 B【知识模块】 文件系统23 【正确答案】 B【知识模块】 文件系统

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 考试资料 > 大学考试

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1