-
仮想記憶方式の場合、プログラムから見えるメモリは()である。応用プログラムばかりでなく()もその上で動く
仮想メモリ
OS
-
仮想メモリは、主記憶装置の容量の制約などをプログラムに見せないように、メモリを()・()したものである。
論理化
抽象化
-
プログラムが使うアドレスを、実際の記憶装置のアドレスとは切り離して、記憶装置の構成や同時に存在する別のプロセスなどによらない論理的なアドレスにしてしまうとプログラムから見えるメモリは実際の記憶装置ではなく、論理アドレスで構成される抽象的なメモリとなる。それを()と呼ぶ。
仮想メモリ
-
仮想メモリのアドレスを()または()と呼ぶ。これに対して、実際の記憶装置である主記憶装置を仮想メモリに対して()と呼びまたそのアドレスを()と呼ぶ。なお、仮想アドレスにより構成されるアドレス空問を()ということがある。
論理アドレス
仮装アドレス
実メモリ
実アドレス
仮想空間
-
仮想メモリも実メモリもある一定サイズの()に分けて構成する。ページサイズが一定なため、割り当てられる実メモリのページ位置には制約がなく、ページが空いてさえいればよい。これにより実メモリの領域を効率良く使うことができる。
ページ
-
プロセッサーが、実メモリ上のばらばらな位置にあるページに記憶された命令やデータにアクセスできるようにするためには、仮想メモリのページごとに再配置レジスタに相当するものが必要になる。全部のページの再配置レジスタ相当を表にまとめたものを()<ページテーブル>という。これは主記憶装置内に置かれる。これを使ってプロセッサーが自動的に仮想アドレスを実アドレスヘと変換することを()という。
アドレス変換表
アドレス変換
-
実メモリを構成する外部記憶装置またはその領域を、ファイル用のものと区別するため、()と呼ぶ。
補助記憶装置
-
アドレス変換表を引いて実アドレスを求める際、ページが主記憶装置になければ特別な割込みである()が
起こり、OSのメモリ管理プログラムが動いて、ページを補助記憶装置から主記憶装置に読み込む。このように補助記憶装置は主記憶装置の()として用いられる。
アドレス変換例外割込み
拡張領域
-
仮想メモリはプログラム実行のためのアドレス空間なので、プロセスごとにそれぞれ空間をもつようにするのは自然である。そうするとシステム内には複数のアドレス空間が存在すること
になる。このようなものを()の仮想メモリという。
多重アドレス空間方式
-
仮想メモリの利点①
・アドレス空間のサイズが実際の()の制約を受けない。このため、主記憶装置容量に制約されない、論理的なプログラム構造をとることができる。つまりプログラミングが()になる
主記憶装置容量
楽
-
仮想メモリの利点②
・ページ化により、メモリ割り当ての無駄が()
・実際にそのときプログラム実行で使われるページだけ主記憶装置にあればよいため、主記憶装置の実際の使用効率が良い。
・主記憶装置容量を増やすことによって、プログラムに手を加えなくても性能向上ができる
・プロセスまたはプロセスファミリごとにアドレス空間をもつことにより、メモリ領域の()がきちんとできる。異なるアドレス空間の中をのぞくことはできないためである。
少ない
保護
-
アドレス変換のために、プロセッサーは()を持つ。プログラム実行時に、メモリアクセスがあるたびに仮想アドレスを()に変換する。
アドレス変換機構
実アドレス
-
1つのアドレス空間は()の内容とアドレス変換表の2つの情報によって表される
テーブルベースレジスタ
-
テーブルベースレジスタはアドレス変換機構の一部で、そのアドレス空間のアドレス変換表の()を保持する。
先頭アドレス
-
アドレス変換表の各エントリには()があり、実ページが主記憶装置上にある場合にはこれが1になっている。存在ビットが0だった場合は、アドレス変換機構はアドレス変換例外<()、ページフォールト>割込みを起こす。
ページ例外
-
アドレス変換では、主記憶装置上のアドレス変換表にアクセスするためプロセッサーの実効性能が低下する、という問題がある。これを解決するために、アドレス変換を行った情報をそ
こに蓄えておき、同じページヘのアクセスがあったときはこの連想記憶にアクセスするだけでアドレス変換ができるようにする。これを()という。
変換ルックアサイドバッファ
-
大きなアドレス空間の場合、アドレス変換表の量が膨大になる。これに対処するために()のアドレス変換表が用いられる。
多段
-
仮想アドレスの3レベル化には、1つのプログラムやひとまとまりのデータをセグメントに対応させることにより、仮想アドレス空間をより整然と利用できるようになる、という利点もある。
この方式の欠点は、アドレス変換時にアドレス変換表を引くための主記憶装置へのアクセスが()回になり、性能が悪くなることである。この性能低下は変換ルックアサイドバッファにより()できる。
2
軽減
-
アドレス変換例外割込みが起こると、そのプロセスを待ち状態にした後、補助記憶装置上にある該当ページを主記憶装置の空きページヘ読み込む。この動作を()という。
ページイン
-
あるページのページインの結果、主記憶装置上に空きページが少なくなれば、オペレーティングシステムは主記憶装置上のどれかのページを選んで、アドレス変換表の該当エントリーの存在ビットを0にし、主記憶装置から補助記憶装置へと追い出す。そして書出しが完了すればこのページを空きページとする。この動作を()という。
ページアウト
-
オペレーティングシステムは常に適正な空きページを主記憶装置内に確保しておき、ページイン要求が出たとき、すぐに空きページを割り当ててページインができるようにする。ページインとページアウトの動作を併せて()という
ページング
-
どのページを主記憶装置内に保持し、どのページを補助記憶装置に置くかの選択を()という。そのためのアルゴリズムを()と呼ぶ。
メモリスケジューリング
メモリスケジューリングアルゴリズム
-
プログラムが使用するページ群、すなわちプログラム実行の過程で参照されるページ群は通常ある時間の範囲で固まっており、それが時間とともに動いていく。この傾向を()という。
メモリ参照の局所性
-
メモリスケジューリングアルゴリズムは()と()
の2つに分類される。
ページ置き換えアルゴリズム
マルチプログラミングアルゴリズム
-
あるページが参照されてページインされた結果、主記憶装置に空きページが必要になったときに、どのページを主記憶装置から()かの選択のアルゴリズムをページ置換えアルゴリズ
ムという。これの適用の仕方には()と()の2種類がある。
追い出す
グローバルポリシー
ローカルポリシー
-
グローバルポリシー:
複数のアドレス空間があってもそれらを()せず、全体の主記憶装置ページの中から一定の基準で追い出すページを決定する方式。
ページ参照パターンはプログラムごとに別々かもしれないが、OSのように共通的に使われるものもあるので、グローバルな判断でかまわない、という見方に基づく。また、実現が()である。
区別
単純
-
ローカルポリシー:
ページを取り上げるアドレス空間をまず選択し、その空間に属する主記憶装置ページの中で追い出すページを選択する方式。アドレス空間ごとにページ参照の局所性があるはずなので、より()である、という見方に基づく。
合理的
-
近頃最も使われなかったページを追い出す、というアルゴリズムを()という。OSが一定時間ごとに主記憶装置内の各ページの参照ビットを調べそれを参照履歴情報としてページごとに記憶しておく。この情報に基づき最近最も使用されていないページを決定する。
LRU法
-
まず主記憶装置内にどのアドレス空間を置くかの判断が必要になる。この判断のアルゴリズムをマルチプログラミングアルゴリズムと呼ぶことにする。主記憶装置に多くのアドレス空間を置き過ぎていると判断した
ときは、いずれかのアドレス空間を選択して、それに属するページはまとめて補助記憶装置に出される。これを()という。逆に補助記憶装置から主記憶装置にまとめて読み込むことを
()という。
スワップアウト
スワップイン
-
プログラムの実行に必要とされるページ群を()という。これの厳密な定義は、そのプログラムで過去時間tの間に参照したページの集合、というものである。tを
どうとるかが鍵となる。この考えは、メモリ参照の局所性を前提にしている。
ワーキングセット
-
ワーキングセットの考えに基づいてマルチプログラミングとページ置換えを判断する方法を()という。
アドレス空間ごとに必要なワーキングセットを主記憶装置に入れるようにし、入りきらないアドレス空間はスワップアウトする。また、ページ置換えは、ワーキングセットを超えたページをもっているアドレス空間から、そのようなワーキングセットを超えたページを置換え対象に選択する。
ワーキングセット法
-
スワップインに際してのページの読込み法には2種類ある。スワップイン時に実際にはあらかじめページを読み込まず、その後のページフォールトで順次ページインする方式を()という。スワップインに際してあらかじめページを読み込む方式を()という。
デマンドページング
プリページング
-
特に複数のプログラムの主記憶装置への要求が競合して、ページングばかりが起こってしまい、性能が大幅に低下することがある。これを()という。
スラッシング
-
あ