第四章文件系统
姓名:学号:网选班号:
一、选择题
( A )1 文件系统的主要目的是()
A 实现对文件的按名存储
B 实现虚拟存储
C 提高外设的读取速度D用于存储文件系统
( ABC )2 为了对文件进行操作,应该用以下哪些系统调用()。
A 建立文件
B 打开文件
C 关闭文件
D 申请缓冲区
( B)3文件系统与()密切相关,它们共同为用户使用文件提供方便。
A 处理器管理
B 设备管理
C 内存管理
( B )4文件系统中文件被按照名字存取是为了()
A 方便操作系统对文件的管理
B 方便用户使用
C 确定文件的存取权限
D 加强对文件内容的保密
( C )5文件系统采用多级目录后,对于不同用户的文件,其文件名()
A 应该相同
B 应该不同
C 可以相同,也可以不同
( C )6 在文件系统中可命名的最小数据单位是()
A 字符
B 记录
C 文件
D 文件系统
( B )7 下列()物理结构不利于对文件的随机存取
A 顺序文件
B 链接文件
C 索引文件
( B )8 管理空闲磁盘空间可以用(),它利用二进制的一位来表示一个磁盘块的使用情况
A 空闲区表
B 位示图
C 分组链接
( C)9 文件系统利用()来管理文件.
A 文件名
B 文件描述符
C 目录
( A)10目录文件中的目录项就是()
A 文件描述符
B 文件指针
C 索引表
(B)11、将文件目录分成基本文件目录和符号文件目录的作用是()
A 层次分明和易于实现
B 提高检索文件速度和便于共享
C 便于文件系统的分层实现(A)12 打开文件操作是对()的操作
A 目录
B 文件
C 目录和文件
(B)13 FAT文件系统支持()结构
A 顺序文件
B 链接文件
C 索引文件
(C)14 EXT2文件系统支持()结构
A 顺序文件
B 链接文件
C 索引文件
(A)15 假设一个扇区大小为512B,1块=1扇区,FAT16可以管理的磁盘空间大小为()
A 32M
B B 64MB
C 128MB
D 512MB
(C)16 linux的VFS的超级块中存放()信息
A 文件
B 目录
C 文件系统
()17 假设1块=1扇区=512B,块地址用4B表示,ext2可以管理的最大文件的大小为(A)
A 1G
B 16G
C 32G B 64G 二、问答题
1、使用文件系统时,通常要显示地调用OPEN、CLOSE操作,是否可以不要这种操作?这样做的好处是什么?
可以不要。
好处:无需多次读文件的文件描述符信息,减少访问磁盘次数
2、DOS硬盘的FAT表的大小最大是多少?采用FAT16管理40G的硬盘,一个块要被定义为多大才合适?
DOS硬盘的FAT表的大小最大是2B*216=128KB
采用FAT16管理40G的硬盘,一块要定义为:40GB/216=640KB
3、简述DOS命令type \sub\f的执行过程。
1)读卷总信息,得\地址,读\到内存。
2)在\目录中查找sub
2.1若找到,得sub第1块块号,将第1块读入内存,查FAT,获得第2块以后的块号,逐次读入内存。
2.2若未找到,显示出错,转5)
3)在sub目录中查找f
2.1若找到,得f第1块块号,将第1块读入内存,查FAT,获得第2块以后的块号,逐次读入内存。
2.2若未找到,显示出错,转5)
4)将内存的f文件内容送显示器
5)结束
4、简述linux命令cat /sub/f的执行过程
1)依据/目录的i节点号读/的i节点到内存,获得/的索引表,依据索引表中的地址将/读入内存
2)在/中查找sub
2.1若找到,得sub的i节点号,依据i节点号,将sub的i节点读入内存,获得sub的索引表,依据索引表中的地址将sub读入内存
2.2若未找到,显示出错,转5)
3)在sub中查找f
2.1若找到,得f的i节点号,依据i节点号,将f的i节点读入内存,获得sub的索引表,依据索引表中的地址将f读入内存.
2.2若未找到,显示出错,转5)
4)将内存的f文件内容送显示器
5)结束
三、在文件系统中,为加快文件系统的检索速度,可以“基本目录与符号目录分离”的办法,假设目录文件存放在磁盘上,每个盘块512B。文件描述符占64B,其中文件名占8B,通常将文件描述符分解成两部分:第一部分占10B(包括文件名和文件内部号),第二部分占56B(包括文件内部号和文件其它描述信息)假设某个目录文件共有254个文件描述符,试分别给出分离前后查找该目录文件的某一个文件描述符的平均访磁盘次数。
分离前:目录文件中含全部信息,大小为254*64B=16256B,占块数:32块,在目录中查找的平均次数为:(1+32)/2=16.5次
分离后:符号目录文件中只含有文件名和文件内部号,大小为254*10B=2540B,块:2540/512=5块,查找平均次数为(1+5)/2=3次,依据文件内部号访问基本目录1次,共4次。
四有一unix系统,每个i结点中的直接索引盘块数为10块,有一、二、三重间接指针,盘块地址32位,盘块长4KB.试计算:
(1)文件的最大长度。
(2)一个长为10MB的文件占用多少个数据盘块和间接盘块?画出该文件的索引结构图。
(3)有一个文件f长50000B,已经打开(返回值放在fd中),执行write(fd,3832B,500B,n)需要访问外存多少次?(写清计算步骤及根据)。
(1)一个盘块中可以存放1024个盘块地址
文件的最大长度=(10+1024+1024*1024+1024*1024*1024)*4KB=4T
(2)10MB的文件占10MB/4KB=2560个数据块,需要(2560-10)/1024=3个1级索引(3)文件3832B~3832+500B在文件的第0、1数据块,块地址在主索引表中,不用读其它索引表,因此读数据块2次、写2次,共4次
五在FAT管理下的540MB硬盘,逻辑块大小为16KB,扇区长度为512B,试计算
1、FAT表大小?
2、将一个已打开的2MB长的文件从头到尾读一遍,读FAT表最多多少次?最少多少次?
1、540MB有540M/16KB=34560块,FAT大小为:34560*2B=69120B
2、2MB文件块数:2M/16KB=128块,该文件的块号在FAT表中占128行,一个扇区中可以放512B/2B=256行的FAT表的内容,FAT表占69120B/0.5KB=135个扇区,读FAT表最多读128次,最少读1次。
注意:FAT以扇区为单位计算,上课讲的有错误,特更正