2017-04-15 8 views
0

は、私は私の教授から、次の質問を持っているが、私は特定の概念を理解していないです:ファイル管理とマルチレベル・インデックス

は、単一間接のための1つのポインタを各ファイルは10個の直接ポインタを持ったマルチレベルのインデックス・スキームを仮定します二重間接は1、三重間接は1です。ポインタは64ビットであると仮定し、各ブロックは、各ブロックがポイントする8分の256 = 32のポインタ
スーパーブロック(iノード)に含まれる256バイト

ある:
10ダイレクトポインタ
32シングル間接
を32 * 32ダブル間接的
32 * 32 * 32トリプル間接ポインタ
この= 10 + 32 + 1024 = 32678ポインタ= 33834ブロック
33834 * 256 = 8.7メガバイトのファイルサイズ

マイケ2つのアイテムに関連しています。 1つはブロックあたりのポインタの数を得るために256を8で割る理由です。 2つの33834ブロックはどこから来たのですか?どんな助けもありがとう。私は教科書を読みましたが、まだ私はこの質問を理解していません。

答えて

1

8はアドレスのサイズです。 (これは64ビットのアドレスを前提としています)。

33834 = 10 + 32 + (32 * 32) + (32 * 32 * 32)複数のインデックススキームのポインタの数。

+0

私は2^8が(各ブロックの)0〜255セットのバイトをアドレスできることを意味するアドレスのサイズを仮定していますか? – JmanxC

+0

8サイズは、アドレス空間内の指定されたバイトを識別するための8バイトを持つことを意味します。これは、例えば、「長い」型で表すことができる。それは2^64バイトに対処することができます。 (32バイトのアドレスの場合は、4 GBのアドレス制限が発生します。) –

+0

64ビットのポインタ= 8バイトとしてah yes。本当にありがとう、私の勉強に助けてくれる – JmanxC

関連する問題