假设UNIX文件系统有一些限制 - 比如2 KB块和8B磁盘地址。如果inode包含13个直接条目,并且每个条目包含一个,两个和三个间接条目,那么最大文件大小是多少?
答案 0 :(得分:19)
这为您解释:
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."
为您的2KB交换8KB,并调整较小块大小的条目。
2KB*(10 + 2**8 + 2**16 + 2**24)
我的问题不清楚13个条目是否包括单曲,双曲和三元组,或者它们是否分开,但是应该很容易调整 - 只需将表达式中的10更改为13。 / p>
我想我已经正确调整了所有数学...仔细检查它= |希望这不是我为你做的功课;)
答案 1 :(得分:1)
1个街区有多少指针?
each block is 2kb = 2^11 1 disk address is 8b = 2^3 So, in 1 block there are 2^11/2^3 = 2^8 pointers"
文件系统中有多少指针?
for 13 direct entries = (2^8)*13 = 3328 for single = (2^8)^2 = 2^16 for double = (2^8)^3 = 2^24 for triple = (2^8)^4 = 2^32 total pointer is :3328 + 2^16 + 2^24 + 2^32"
因此文件系统的大小是:
size of the disk is : total of pointer*size of the pointer , which is around 34 GB "
答案 2 :(得分:-1)
我们提供了一个可用于竞争性考试的快捷方式,具体如下:
Max file size possible = [ block size/pointer size]^3 * block size