エンベデッドシステムスペシャリスト 2022年 午前2 問11
問題文
主記憶管理に関する記述のうち、適切なものはどれか。
選択肢
ア:LRUアルゴリズムとは、主記憶中で最も早く主記憶にロードされたページをページアウトするアルゴリズムである。
イ:仮想記憶とは、主記憶の容量以上の記憶空間を提供する機能である。(正解)
ウ:スラッシングを防ぐためには、システムの多重度を上げることが有効である。
エ:デマンドページングとは、プログラムの実行時に必要な実行モジュールを動的にリンクすることである。
🔒 解説は解答すると表示されます
仮想記憶とページ管理【午前2解説】
正解の理由
仮想記憶とは、補助記憶装置などを利用して、実際の主記憶容量を超える記憶空間をプログラムに提供する機能です。そのため、適切なのはイです。
仮想記憶では、プログラムが使う仮想アドレスを物理アドレスに対応付けます。必要なページだけを主記憶に読み込むことで、主記憶の容量を超えるプログラムも実行できます。
解法ステップ
- 選択肢に登場する用語を、ページ置換・仮想記憶・スラッシング・ページングに分類します。
- 各用語の基本的な意味と、選択肢の説明が一致しているか確認します。
- 正しい説明であるイを選びます。
選択肢別の誤答解説
-
ア:誤りです。
LRU(Least Recently Used)は、最も長い間使われていないページをページアウトする方式です。「最も早く主記憶にロードされたページ」を対象にするのはFIFO方式です。 -
イ:正しい説明です。
仮想記憶は、実際の主記憶容量を超える記憶空間を提供する機能です。プログラムからは大きな記憶空間があるように見えます。 -
ウ:誤りです。
スラッシングは、ページ入替えが頻発し、処理が進みにくくなる状態です。システムの多重度を上げると、主記憶を取り合うプロセスが増えて悪化することがあります。防ぐには、多重度を下げるなどして、各プロセスが必要なページを主記憶に保てるようにします。 -
エ:誤りです。
デマンドページングは、ページが必要になった時点で主記憶に読み込む方式です。実行時に必要なモジュールを動的にリンクすることではありません。
よくある誤解
-
LRUとFIFOを混同する
LRUは「最後に使われてから最も時間がたったページ」、FIFOは「最も先に読み込まれたページ」を置換します。 -
仮想記憶を、主記憶そのものが増える機能だと考える
仮想記憶は、補助記憶装置なども活用して、主記憶より大きな記憶空間を提供する仕組みです。 -
デマンドページングと動的リンクを同じものと考える
デマンドページングはページの読み込み方式、動的リンクはプログラムとライブラリなどを結び付ける方式です。
補足コラム
デマンドページングでは、プログラムが主記憶にないページを参照するとページフォールトが発生します。OSは該当ページを補助記憶装置から主記憶に読み込み、実行を再開します。
ページフォールトが頻発すると、ページの読み込みや追い出しに時間がかかり、スラッシングにつながることがあります。
FAQ
Q. 仮想記憶では、プログラム全体を主記憶に読み込むのですか?
A. いいえ。デマンドページングでは、必要になったページを順次読み込みます。
A. いいえ。デマンドページングでは、必要になったページを順次読み込みます。
Q. スラッシングを防ぐには、なぜ多重度を下げるのですか?
A. 同時に実行するプロセスを減らすことで、各プロセスが利用できる主記憶を確保し、ページ入替えの頻発を抑えられるためです。
A. 同時に実行するプロセスを減らすことで、各プロセスが利用できる主記憶を確保し、ページ入替えの頻発を抑えられるためです。
関連キーワード: 仮想記憶、LRU、FIFO、デマンドページング、ページフォールト、スラッシング

\ せっかくなら /
エンベデッドシステムスペシャリストを
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

