スポンサーリンク
OS

【OS】仮想メモリ

仮想アドレス空間

通常は、スタックが最大logic addressで開始し、スタックが「下がる」、ヒープが「上がる」するようにlogic address空間を設計する。

デマンドページング

ロード時や必要な時プロセス全体をメモリに取り込むことができる

下の画像のようにスワッピングを使用したページングシステムと同様

valid-invalid bit

valid→メモリの中にある

invalid→メモリの中にない

MMUのアドレス交換の際に、ページ・テーブルエントリ内のvalid-invalid bitがinvalidの場合→ページフォルトになる

ページフォルトの処理手順

ページへの参照がある場合、そのページへの最初の参照はオペレーティングシステムにトラップされる

オペレーティングシステムは別のテーブルを参照して決定する
無効な参照→中止

freeのフレームを探す

スケジュールされたディスク操作でページをフレームにスワップする

現在メモリ内のページを示すためにテーブルをリセットするvalidation bit をvにする

ページ違反の原因んとなった命令を再起動する

コピーオンライト(25)

ページ交換(29)

フレームの割り当て(47)

スラッシング(54)

メモリがマッピングされたファイル

カーネルメモリの割り当て(63)

スポンサーリンク