1、下面关于索引文件的叙述中,正确的是()。
- A:索引文件中,索引表的每个表项中含有相应记录的关键字和存放该记录的物理地址
- B:顺序文件进行检索时,首先从FCB中读出文件的第一个盘块号;而对索引文件进行检索时,应先从FCB中读出文件索引块的开始地址
- C:对于一个具有三级索引的文件,存取一条记录通常要访问三次磁盘
- D:文件较大时,无论是进行顺序存取还是进行随机存取,通常索引文件方式都最快
解析
索引表的表项中含有相应记录的关键字和存放该记录的逻辑地址;三级索引需要访问4次磁盘;随机存取时索引文件速度快,顺序存取时顺序文件速度快。
答案:B
2、下列文件物理结构中,适合随机访问且易于文件扩展的是()。
- A:连续结构
- B:索引结构
- C:链式结构且磁盘块定长
- D:链式结构且磁盘块变长
解析
文件的物理结构包括连续、链式、索引三种,其中链式结构不能实现随机访问,连续结构的文件不易于扩展。因此随机访问且易于扩展是索引结构的特性。
答案:B
3、设文件索引结点中有7个地址项,其中4个地址项是直接地址索引,2个地址项是一级间接地址索引,1个地址项是二级间接地址索引,每个地址项大小为4B,若磁盘索引块和磁盘数据块大小均为256B,则可表示的单个文件最大长度是()。
- A:33KB
- B:519KB
- C:1057KB
- D:16516KB
解析
每个磁盘索引块和磁盘数据块大小均为256B,每个磁盘索引块有256/4=64个地址项。因此,4个直接地址索引指向的数据块大小为4*256B
;2个一级间接索引包含的直接地址索引数为2*(256/4)
,即其指向的数据块大小为2*(256/4)*256B
。1个二级间接索引包含的直接地址索引数为(256/4)*(256/4)
,即其所指向的数据块大小为(256/4)*(256/4)*256B
。因此,7个地址项所指向的数据块总大小为4*256+2*(256/4)*256+(256/4)*(256/4)*256=1082368B=4057KB
。
答案:C
4、若一个用户进程通过read系统调用读取一个磁盘文件中的数据,则下列关于此过程的叙述中,正确的是()。
Ⅰ、若该文件的数据不在内存,则该进程进入睡眠等待状态
Ⅱ、请求read系统调用会导致CPU从用户态切换到核心态
Ⅲ、read系统调用的参数应包含文件的名称
- A:仅Ⅰ、Ⅱ
- B:仅Ⅰ、Ⅲ
- C:仅Ⅱ、Ⅲ
- D:Ⅰ、Ⅱ和Ⅲ
解析
对于Ⅰ,当所读文件的数据不在内存时,产生中断(缺页中断),原进程进入阻塞态,直到所需数据从外存调入内存后,才将该进程唤醒。
对于Ⅱ,read系统调用通过陷入将CPU从用户态切换到核心态,从而获取操作系统提供的服务。
对于Ⅲ,要读一个文件,首先要用open系统调用打开该文件。open中的参数包含文件的路径名与文件名,而read只需使用open返回的文件描述符,并不使用文件名作为参数。read要求用户提供三个输入参数:1.文件描述符fd;2.buf缓冲区首址;3.传送的字节数n。read的功能是试图从fd所指示的文件中读入n个字节的数据,并将它们送至由指针buf所指示的缓冲区中。
答案:A
5、在文件的索引结点中存放直接索引指针10个,一级和二级索引指针各1个。磁盘块大小为1KB,每个索引指针占4B。若某文件的索引结点已在内存中,则把该文件偏移量(按字节编址)为1234和307400处所在的磁盘块读入内存,需访问的磁盘块个数分别是()。
- A:1,2
- B:1,3
- C:2,3
- D:2,4
解析
答案:B
6、某文件系统中,针对每个文件,用户类别分为4类:安全管理员、文件主、文件主的伙伴、其他用户;访问权限分为5种:完全控制、执行、修改、读取、写入。若文件控制块中用二进制位串表示文件权限,为表示不同类别用户对一个文件的访问权限,则描述文件权限的位数至少应为()。
- A:5
- B:9
- C:12
- D:20
解析
可以把用户访问权限抽象为一个矩阵,行代表用户,列代表访问权限。这个矩阵有4行5列,1代表true,0代表false,所以需要20位,选D。
答案:D
7、下列优化方法中,可以提高文件访问速度的是()。
Ⅰ、提前读
Ⅱ、为文件分配连续的簇
Ⅲ、延迟写
Ⅳ、采用磁盘高速缓存
- A:仅Ⅰ、Ⅱ
- B:仅Ⅱ、Ⅲ
- C:仅Ⅰ、Ⅲ、Ⅳ
- D:Ⅰ、Ⅱ、Ⅲ、Ⅳ
解析
答案:D
8、下列选项中,支持文件长度可变、随机访问的磁盘存储空间分配方式是()。
- A:索引分配
- B:链接分配
- C:连续分配
- D:动态分区分配
解析
索引分配支持变长的文件,同时可以随机访问文件的指定数据块,A正确。
连接分配不支持随机访问,需要依靠指针依次访问,B错误。
连续分配的文件长度固定,不支持可变文件长度(连续分配的文件长度虽然也可变,但是需要大量移动数据,代价较大,相比之下不太适合),C错误。
动态分区分配是内存管理方式,不是磁盘空间的管理方式,D错误。
答案:A
9、某文件系统的目录项由文件名和索引结点号构成。若每个目录项长度为64字节,其中4字节存放索引结点号,60字节存放文件名。文件名由小写英文字母构成,则该文件系统能创建的文件数量的上限为()。
- A: 2 26 2^{26} 226
- B: 2 32 2^{32} 232
- C: 2 60 2^{60} 260
- D: 2 64 2^{64} 264
解析
在总长为64字节的目录项中,索引结点占4字节,即32位.不同目录下的文件的文件名可以相同,所以在考虑系统创建最多文件数量时,只需考虑索引结点的个数,即创建文件数量上限=索引结点数量上限。整个系统中最多存储 2 32 2^{32} 232个索引结点,因此整个系统最多可以表示 2 32 2^{32} 232个文件。
答案:B
10、一个文件系统中,其FCB占64B,一个盘块大小为1KB,采用一级目录。假定文件目录中有3200个目录项。则查找一个文件平均需要()次访问磁盘。
- A:50
- B:54
- C:100
- D:200
解析
3200个目录项占用的盘块数为3200*64B/1KB = 200个。因为一级目录平均访盘次数为1/2盘块数(顺序查找目录表中的所有目录项,每个目录项为一个FCB),所以平均的访问磁盘次数为200/2 = 100次。