16

假设一个 UNIX 文件系统有一些限制——比如说,2 KB 块和 8B 磁盘地址。如果 inode 包含 13 个直接条目,并且每个包含一个单个、两个和三个间接条目,那么最大文件大小是多少?

4

3 回答 3

22

这为您解释:

http://www.cis.temple.edu/~ingargio/cis307/readings/stable.html

"The maximum size of a file will be 8KB*(10 + 2**10 + 2**20 + 2**30), that is more than 8TB."

将 8KB 替换为 2KB,并调整条目以适应更小的块大小。

2KB*(10 + 2**8 + 2**16 + 2**24)

从你的问题中我不清楚这 13 个条目是否包括单打、双打和三打,或者它们是否是分开的,但这应该很容易调整——只需将表达式中的 10 更改为 13。

我想我已经正确地调整了所有的数学......仔细检查它=| 希望这不是我为你做的作业;)

于 2010-04-30T03:52:18.190 回答
1

1个块中有多少个指针?

     每个块是 2kb = 2^11
     1个磁盘地址是8b = 2^3
     所以,在 1 个块中有 2^11/2^3 = 2^8 个指针"
    

文件系统中有多少个指针?

     13 个直接条目 = (2^8)*13 = 3328
     对于单个 = (2^8)^2 = 2^16
     对于双 = (2^8)^3 = 2^24
     对于三重 = (2^8)^4 = 2^32
     总指针为:3328 + 2^16 + 2^24 + 2^32"
     

因此文件系统的大小为:

磁盘大小为:总指针*指针大小,约为 34 GB"
    

于 2014-06-02T13:38:52.697 回答
0

我们提供了一个可用于竞争性考试的快捷方式,如下所示:

Max file size possible = [ block size/pointer size]^3 * block size
于 2017-09-12T05:06:09.703 回答