14

32 ビットの論理アドレスと 4KB のページ サイズを持つコンピューター システムを考えてみましょう。システムは、最大 512MB の物理メモリをサポートします。

従来の単一レベルのページ テーブルにはいくつのエントリがありますか?

Conventional single-level page table: 2^32 / 2^12 (4000)  = 2^20 = 1,048,576

なぜ私はdivide 2^32 / 2^12答えを得なければならなかったのですか?

逆ページ テーブルにはいくつのエントリがありますか?

反転ページ テーブルには、メモリ内のページ フレームと同じ数のエントリが必要です。

Inverted page table: 2^29 (512mb)/ 2^12 (4000) = 2^17 = 131,072

divide 512mb / page size逆ページ テーブル エントリを取得する必要があったのはなぜですか?

次のアドレス参照のページ番号とオフセット: a) 30000、b) 256、c) 0xbcf034

a) 16 進数で 30000: x7530 ページ番号: x7 = 7 オフセット: x530 = 1328

b) 16 進数で 256 x100 ページ番号: x0 = 0 オフセット: x100 = 256

c) 0xbcf034 ページ番号: xbcf = 3023 オフセット: x034 = 22

これらのページ番号とオフセットは、16 進アドレスに基づいてどのように計算すればよいですか?

答えはわかっていますが、理由と方法を理解したいと思っています。誰か詳しく説明してくれませんか:)

4

4 に答える 4

4

与えられたページ サイズとアドレス参照 :
ページ番号とオフセットを計算する最良の方法
, のページ サイズが 1KB でアドレス参照が 256 であるとします.


Page number = (address reference / page size) = 256/1024 = 0

Offset = (address reference % page size) = (256 % 2014) = 256 


残りのアドレス参照についても同じ手順を適用します。

于 2016-04-24T15:06:17.637 に答える
0

ページ サイズ = フレーム サイズ = 2^12 反転ページ テーブルのエントリ数 = フレーム数なので、フレーム数を計算しています。

于 2017-04-02T15:41:34.180 に答える
0

2^12 => 4096 2^32/2^12 => 2^32/4096 => 4K ページの数 => 必要なページ テーブル エントリの数。

物理ページ テーブルについても同様の計算が行われます。つまり、反転したページ テーブルに必要なページ テーブル エントリの数です。

上記のヒントを参考に、質問に答えて、あなたの考えを教えてください。OS コースでもう少し学習すると、各ページ テーブルの設計には長所と短所があることがわかります。

于 2013-07-15T04:41:02.800 に答える