在放在某个磁盘上的文件系统,采用混合索引分配方式,其FCB中共有13个地址项,第0~9个地址项为直接地址,第10个地址项为一次间接地址,第11个地址项为二次间接地址,第12个地址项为三次间接地址。若系统的逻辑记录大小是4KB,则磁盘的每个扇区(物理块)也为4KB。描述磁盘扇区的数据项需要4字节,其中一个字节标识磁盘分区,3个字节标识物理块。请问该文件系统支持的单个文件的最大长度是多少?
时间: 2024-04-05 17:34:50 浏览: 261
该文件系统支持的单个文件的最大长度为:
10 个直接地址项:10 × 4 KB = 40 KB
一次间接地址:1 × 4 KB × 1024 / 4 B = 1 MB
二次间接地址:1 × 4 KB × 1024 × 1024 / 4 B = 1 GB
三次间接地址:1 × 4 KB × 1024 × 1024 × 1024 / 4 B = 1 TB
总共支持的最大长度为:40 KB + 1 MB + 1 GB + 1 TB = 1.001 TB
因此,该文件系统支持的单个文件的最大长度为1.001 TB。
相关问题
存放在某个磁盘上的文件系统,采用混合索引分配方式,其FCB中共有13个地址项,第0~9个地址项为直接地址,第10个地址项为一次间接地址,第11个地址项为二次间接地址,第12个地址项为三次间接地址。如果每个盘块的大小为512字节,若盘块号需要用3个字节来描述,而每个盘块最多存放170个盘块地址: (1)该文件系统允许文件的最大长度是多少? (2)将文件的字节偏移量5000、15000转换为物理块号和块内偏移量。 (3)假设文件的FCB已在内存,为了访问文件中某个位置的内容,最少需要访问几次磁盘,最多需要访问几次磁盘?
根据题意,我们可以得出以下计算过程和答案:
(1)该文件系统允许文件的最大长度:
- 直接地址可以表示的盘块数为 10 个,每个盘块最多存放 170 个盘块地址,因此直接地址可以表示的最大文件大小为 10 * 170 * 512B = 870400B。
- 一次间接地址可以表示的盘块数为 170 个,每个盘块最多存放 170 个盘块地址,因此一次间接地址可以表示的最大文件大小为 170 * 170 * 512B = 14745600B。
- 二次间接地址可以表示的盘块数为 170 * 170 个,每个盘块最多存放 170 个盘块地址,因此二次间接地址可以表示的最大文件大小为 170 * 170 * 170 * 512B = 2520476160B。
- 三次间接地址可以表示的盘块数为 170 * 170 * 170 个,每个盘块最多存放 170 个盘块地址,因此三次间接地址可以表示的最大文件大小为 170 * 170 * 170 * 170 * 512B = 429483622400B。
- 因此,文件系统允许文件的最大长度为 429483622400B。
(2)将文件的字节偏移量 5000、15000 转换为物理块号和块内偏移量:
- 对于字节偏移量 5000,物理块号为 5000 / 512 = 9,块内偏移量为 5000 % 512 = 232。
- 对于字节偏移量 15000,物理块号为 15000 / 512 = 29,块内偏移量为 15000 % 512 = 208。
(3)为了访问文件中某个位置的内容,最少需要访问几次磁盘,最多需要访问几次磁盘?
- 当文件中的某个位置对应的盘块在内存中时,最少只需要访问 1 次磁盘;最多需要访问直接地址、一次间接地址、二次间接地址和三次间接地址共 4 次磁盘。如果文件中的某个位置对应的盘块不在内存中,则需要先将相应的盘块调入内存,再进行访问,此时需要访问的磁盘次数会更多。
如果一个文件存放在 100 个数据块中,FCB、FAT、索引块或索引信息等都驻留在内存中。在下面几种情况下,分别需要做几次磁盘 I/O 操作? (1)采用连续分配方式,将最后一个数据块搬到文件头部 ; (2)采用单级索引分配方式,将最后一个数据块搬到文件头部 ; (3)采用显式链接分配方式,将最后一个数据块搬到文件头部 ; (4)采用隐式链接分配方式,将首个数据块搬到文件尾部。
对于每种情况,需要进行的磁盘 I/O 操作次数如下:
(1)连续分配方式将最后一个数据块搬到文件头部需要进行 2 次磁盘 I/O 操作。第一次是更新 FAT 表,将最后一个数据块的下一个数据块的地址改为文件头部;第二次是将最后一个数据块的内容搬移到文件头部。
(2)单级索引分配方式将最后一个数据块搬到文件头部需要进行 3 次磁盘 I/O 操作。第一次是更新 FCB 中的索引块地址,将索引块的地址改为文件头部;第二次是读取索引块,找到最后一个数据块的地址;第三次是更新索引块,将最后一个数据块的地址改为文件头部。
(3)显式链接分配方式将最后一个数据块搬到文件头部需要进行 3 次磁盘 I/O 操作。第一次是读取 FCB 中的索引信息,找到最后一个数据块的地址;第二次是读取最后一个数据块,将它的下一个数据块地址改为文件头部;第三次是更新 FCB 中的索引信息,将最后一个数据块的地址改为文件头部。
(4)隐式链接分配方式将首个数据块搬到文件尾部需要进行 2 次磁盘 I/O 操作。第一次是更新首个数据块的内容,将它的下一个数据块地址改为文件尾部;第二次是更新 FCB 中的文件长度信息,将文件长度加上一个数据块大小。
阅读全文