2017-06-13 20 views
-3

私はこの質問を回答とともに持っていますが、まだ私はそれらのいくつかを理解していません。あなたはそれらを説明できますか?仮想メモリと各項目のサイズ

16ビットの仮想アドレスを持つシステムでは、ページオフセットに12ビットが使用されます。下記の各質問については、質問に答えて簡単に正解してください。または、回答が不明な場合は「不明」と明記してください。

(a)仮想ページはどのくらいの大きさですか? 2^12バイト

(b)物理ページはどのくらいの大きさですか? 2^12バイト

(c)単一のプロセスの仮想アドレス空間の大きさ(バイト単位)はどれくらいですか? 2^16バイト

(d)いくつの物理ページが存在しますか? 不明

(e)システム上で実行されているすべてのプロセスに、仮想的にいくつの仮想ページが存在しますか? 不明

答えて

0

a+b)オフセットに使用される12ビット。あなたは12ビットでいくつアドレスできますか?
答えは2^12です。このため、ページサイズは2^12 = 4096 bytes = 4KB

c) 16ビットでいくつアドレスできますか? 2^16 Bこれは仮想アドレスです。

d) #frames = main-memory-size/page-size`これは、物理メモリサイズを知らないために不明です。

e)は、システム内のプロセス数によって異なります。仮想アドレスで

0

一つは物理メモリ内の1バイトの点をオフセットするので、

ページのサイズは、1ページ内のバイト数のアカウントをオフセット。ここでは12ビットなので、1ページの数字バイトは2^12です。 (a)

ページ番号のサイズは、仮想メモリ内のページフレームの総数を占めます。ここでは、ページサイズは4ビット長で16-12であるため、合計ページ数は2^4です。

(b)ページサイズはページフレームサイズと等しいため、2^12バイトになります。

(c)

仮想アドレス空間=総ページ数*ページサイズ= 2^4 * 2^12 = 2^16(仮想アドレスのビット数から直接計算することができます)。

(d)仮想アドレス空間からフレーム数を通知することはできません。仮想アドレス空間を有する点は、利用可能な物理的サイズよりもはるかに大きなメモリを割り当てる能力である。

(e)すべてのプロセスは、2^4仮想ページを持つことができます。したがって、仮想ページの総数はプロセスの数に依存します。

関連する問題