ブロックサイズと直接ポインタの数を考慮して生成できる最大のファイルをどのように計算しますか?

ブロックサイズと直接ポインタの数を考慮して生成できる最大のファイルをどのように計算しますか?

12個のダイレクトポインタと2kbブロックサイズを使用して、UNIX(FFS)システムで生成できる最大のファイルを見つけようとしています。私は一種の公式や方向を見つけようと周りを見て、私が見つけた最も近いもの大学試験解答用紙

問題に対する解決策に基づいて、私のシナリオに合った最大のファイルを計算してみました(公式の他の部分は間接ポインタによるものと仮定します)。

(12 * 2KB) = 24KB

ただし、解決策を確認することはできません。可能な最大ファイルサイズを正しく計算する方法は?

ベストアンサー1

それぞれ2kBブロックを指す12個の直接ポインタを使用すると、持つことができる最大のファイルは24kBです(正しく計算したように)。これを確認する簡単な方法はありません。ディスクのデータ構造を表示するには、ファイルシステムデバッガが必要です。

間接ポインタがある場合は、2kBにいくつのポインタが入ることができるかどうかを知る必要があります。ブロックあたり4バイトを想定すると、512バイトを収容できるため、各間接ブロックはさらに1MB(512 * 2kB)を提供します。

二重間接参照がある場合は、間接参照ブロックが記述するスペースにどれだけの間接参照が含まれるかを知る必要があります。 1MBおよび4バイトのポインタの場合、これは256kBであるため、デュアル間接ブロックは512MBを受け入れます。

いくつかのファイルシステムは、(開始、長さ)ペアを使用してディスクの連続実行ブロックを記述する。 12ポインタの代わりに6つのペアがある場合は、ディスクの断片化の程度に応じて、12 KBと6 * 2 32 * 2 KBまたは約36 TBの間で指定できます。

おすすめ記事