web-dev-qa-db-ja.com

特定のiノード構造が与えられた場合の最大ファイルサイズは?

UNIXファイルシステムにいくつかの制約があるとします。たとえば、2KBのブロックと8Bのディスクアドレスです。 iノードに13の直接エントリと、それぞれ1つのシングル、ダブル、トリプルの間接エントリが含まれている場合の最大ファイルサイズはどれくらいですか?

15
solvingPuzzles

これはあなたのためにそれを説明します:

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に変更するだけです。

私はすべての数学を正しく調整したと思います...それを再確認してください= |これが私があなたのためにした宿題ではないことを願っています;)

19
WhirlWind

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 
 for Triple =(2 ^ 8)^ 4 = 2 ^ 32 
合計ポインタは:3328 + 2 ^ 16 + 2 ^ 24 + 2 ^ 32 "
 

したがって、ファイルシステムのサイズは次のとおりです。

ディスクのサイズは次のとおりです。ポインタの合計*ポインタのサイズ、約34 GB "
 
1
user3035698