0

2 つの質問があります。

  1. 32 ビット アドレスのコンピュータは、2 レベルのページ テーブル (9 ビットのトップ レベルと 11 ビットのセカンド レベル) を使用します。ページのサイズ、アドレス空間のページの量、およびメモリに存在する必要があるページテーブルの最小サイズはいくらですか??

  2. 32 ビットの仮想アドレス空間コンピューターには 4 KB のページがあります。テキストとデータは一番下のページ (0-4095) に入ります。スタックは最上位ページにあります。コンピューターがまだ従来のページ テーブルと 2 レベルのページ テーブル (PT1 と PT2 でそれぞれ 10 ビット) を使用している場合、いくつのエントリが必要ですか?

答えの人のためのTHX....

4

1 に答える 1

1
  1. 9 bit + 11 bit = 20 bit。これを考えると、オフセットに12ビットを許可します。これは、基本的に4kbのページです。トップレベルのページディレクトリには256のページテーブルエントリが格納され、セカンドレベルのページテーブルには2048のページエントリが格納されます。

  2. ユーザーの観点からは、2つまたは3つのページが必要です(コードダンデータ用に異なるページがある場合、つまりデータページにno-execute属性がある場合は、スタック、コード+データ、またはスタック、コード、データ)。メモリマネージャの観点からは、ページディレクトリ構造を格納するためにもう1つのページが必要であり、対応するページテーブル構造を格納するためにさらに1つまたは2つのページが必要です。ページディレクトリの最初のエントリは、コードページとデータページのエントリを保持するページテーブルページを指します。page-directoryの最後のエントリは、スタックページのエントリを保持しているページテーブルを指します。

この助けを願っています。

于 2012-06-18T10:46:21.657 に答える