1

次の質問に対する私の答えを誰かが再確認できるかどうか疑問に思いました。単一の間接ブロックと二重の間接ブロックを正しく理解しているかどうかはわかりません。

ディスクブロックは2KBで、インデックス付きの割り当てが使用されます。ファイルのiノードの長さは128バイトで、ステータス情報には32バイトが使用されます。残りの96バイトは、インデックスエントリに使用されます(エントリごとに4バイト)。

次のスキームを使用した場合、ファイルに保存できるデータの最大量はどれくらいですか?

a。各インデックスエントリは、直接ブロックへのポインタです

24 pointers x 2 KB = 48 KB

b。各インデックスエントリは、単一の間接ブロックへのポインタです。

2 KB / 4 pointers = 512 pointers = 2 MB x 24 = 48 MB

c。最初の22エントリは直接ブロックへのポインタであり、23番目のエントリは単一の間接ブロックへのポインタであり、24番目のエントリは二重間接ブロックへのポインタです。

22 pointers x 2 KB = 44 KB + 2 MB + 2 GB
4

1 に答える 1

1

宿題?

a)正解b)第1レベルの間接ブロックへの24個のポインターがあります。各間接ブロックに512個のポインタを格納できます。各ポインタは2KBのデータブロックを指します。

24 x 512 x 2KB = 24MB

2MBをどこから取得するのかわかりませんか?

c)2KBブロックへの22個のポインター:

 22 x 2KB = 44 KB

2KBへの512個のポインターへの1個のポインター:

1 x 512 x 2KB = 1 MB

それぞれが2KBへの512個のポインターを持つブロックを指す512個のポインターへの1個のポインター:

1 x 512 x 512 x 2KB = 512 MB

実際のファイルシステムの開発には、通常、c)のようなものが使用されます。たとえば、ext3には、12個の直接、1個の間接、1個の二重間接、および1個の三重間接のブロックエントリがあります。

于 2011-11-24T17:19:17.360 に答える