问题 问答题

考虑由索引节点表示的UNIX文件的组织。在每个节点中,假定有12个直接块指针,以及一个一级、二级和三级间接指针。此外,假定系统磁盘块的大小为8KB。如果盘块指针用32位表示,其中8位用于标识物理磁盘号,24位用于标识磁盘块号,那么:
(1) 该系统支持的最大文件大小是多少
(2) 该系统支持的最大文件系统分区是多少
(3) 假定主存中除了文件索引节点外没有别的信息,访问在位置12423956的字节时,需要访问磁盘多少次

答案

参考答案:(1) 最大文件占用12个直接块,分别有一个一级、二级和三级间接指针。
一个索引盘块可以存放的盘块数:8K/(32/8)=2K。
最大文件占用的字节数:12×8K+2K×8K+2K×2K×8K+2K×2K×2K×8K=(96K+16M+32G+64KG)B。
(2) 该系统支持的最大文件系统分区是:8×210×2224=237
(3) 假定主存中除了文件索引节点外没有别的信息,访问在位置12423956的字节时,以应访问文件的相对块号为:
12423956/8K=1516块,块内位置为4884B。
第1516块应该在第一个间接索引块中。故首先访问主存,得到第一个间接索引块的块号。然后应该访问一次间接块,得到相对块号为1516在索引块中的偏移为:1516-12=1504,查1504号索引项,找到1516对应的物理块号,访问该物理块的4884字节(4884B)就是文件的12423956字节(12423956B),故需要访问磁盘两次。

单项选择题
单项选择题