定ページにテーブルサイズのための仮想メモリ
-
26-09-2019 - |
質問
を考えたと仮想メモリシステムの38ビットのバイトの仮想アドレス、1KBのページ512MB体メモリ。の合計サイズのページにテーブルの各プロセスがこれを機に、その有効な保護、汚れ、利用ビット総合4ビットは、すべての仮想ページです。(このディスクアドレスに保存されていないページの表に示す。)
解決
どの場合、問題は単に"このページです。"か否かにかかわらず、そのまま物理メモリの答えを計算できる。
最初の物理メモリ。あ512Kページの物理メモリ(512M/1K).このことは19ビットを表示種別に従い左寄せで記載する。追加の4ビットの会計情報ん23ビット.
現在の仮想メモリ。との38ビットアドレス空間は、10ビット(1K)のページのサイズが必要228 応募のページが作成されます。
そのため228 ページテーブルのエントリ23ビットのそれぞれ6,174,015,488ビットまたは736M.
ことになるのに必要な最大サイズのための単一レベルのVMサブシステム 各プロセス.
現在明らかになったおいしい512Mの物理RAMでいます。
低減することができます。数の物理的ます。例えば、のみ可能の半分のメモリを対象とするページング、その他の半分を民ります。この保存につビットの入力もなくなってます。
の増加のページのサイズ 可能な場合.A1Kページの38ビットアドレス空間の理由のため、厚切りの切り身をこってりとページを参照。例えば、と思うの386は、32ビットアドレス空間を使用して4Kます。ることができるものとし、万ページにテーブルエントリで以下の260万が求められた。
いうレベル。ビットより高度なものでは基本的にこのページにテーブル自体は、対象のページ欄に入力してください。ください最初のページにテーブル物理メモリに格納して少なくともレベルの出し入しています。これを大幅に短縮できる物件でコストの速度を続けるために、シェフラーグルのページ故障害を取得し、実際のプロセスではページの二次ページングテーブルを一つの工程ます。
もう少し近くのオプション3.
合することを許可しています32Mのページングテーブルを各4バイト(32ビット:23が必要となりま丸のための効率はこちら)このよ8,388,608のページ次のページです。
それぞれの二次ページにテーブルのページは1K、長さが伝送されるようになってきた256二次ページにテーブルのエントリの4バイト)までアドレス合計で最大2147483648画素仮想ページ。
ることができるようになる8,192完全実(すなわち、全体の28ビットアドレス空間プロセスの走行面を想定して公正なチャンクのディスクスペースの非居住者です。
現在明らかに次のページングテーブル(およびVMのシステムには、その公正なチャンクの憩いのOS)の滞在住。だが認められないことがありページ、次のページから皆様に安心をお届けすことが必要なページを持たないためい:-)
その居住者のコストだけの32Mの512Mのページングテーブルよりもはるかに分かりや(最低でも、完全に駆け込みプロセス)の736M.
他のヒント
ページ・テーブルのサイズ=ページテーブルエントリの総数なし*ページ・テーブル・エントリのサイズ
ステップ1:エントリ内ページテーブルの発見THE NO:
no of page table entries=virtual address space/page size
=2^38/2^10=2^28
ので、ページ・テーブル内の2 ^ 28のエントリがあります。
STEP2:フレーム内の物理メモリのNOます:
no of frames in the physical memory=(512*1024*1024)/(1*1024)=524288=2^19
私たちは、有効な、保護、汚れや使用ビットのため19 bits
と追加4 bits
を必要とするので、
完全23ビット= 2.875バイト
size of the page table=(2^28)*2.875=771751936B=736MB
1キロバイトのページ= ^ 10 2、512メガバイト= 2 ^ 29 =>オフセット= 29 - 10 = 19ビット
- 19 = 29ビットページ・フレーム+オフセット=>ページフレーム+ダーティビット= 38:の仮想は、二つの部分を含みます。 29ビットの実ページフレームの4ビットダーティ(上)=> 25ビットを含み、各ページ・フレームは、10ビット長有する。
ですから、ページ・テーブル・サイズ:2 ^ 25 * 10 = 320M
希望この正しいます。