エンベデッドシステムスペシャリスト 2010年 午前2 問08
問題文
主記憶管理に関する記述のうち、適切なものはどれか。
選択肢
ア:LRUアルゴリズムとは、主記憶中で最も早く主記憶にロードされたページをページアウトするアルゴリズムである。
イ:仮想記憶とは、主記憶の容量以上の記憶空間を提供する機能である。(正解)
ウ:スラッシングを防ぐためには、システムの多重度を上げることが有効である。
エ:デマンドページングとは、プログラムの実行時に必要な実行モジュールを動的にリンクすることである。
🔒 解説は解答すると表示されます
仮想記憶と主記憶管理【午前2解説】
正解の理由
イが適切です。仮想記憶は、補助記憶装置などを利用して、主記憶の容量を超える記憶空間をプログラムに提供する機能です。プログラムは仮想アドレスを使い、実際に主記憶へ配置する処理はOSが管理します。
解法ステップ
- 各選択肢が、ページ置換、仮想記憶、スラッシング、ページングのどれについて述べているか確認します。
- 用語の定義と選択肢の説明が一致しているかを比べます。
- 正しい定義を述べているイを選びます。
選択肢別の誤答解説
-
ア:誤りです。
LRU(Least Recently Used)は、最も長い間参照されていないページをページアウトするアルゴリズムです。「最も早く主記憶にロードされたページ」を対象とするのはFIFO(First In, First Out)の説明です。 -
イ:適切です。
仮想記憶は、主記憶の容量を超える記憶空間を提供する機能です。必要なページを補助記憶装置から主記憶へ読み込むことで、限られた主記憶を効率的に利用します。 -
ウ:誤りです。
スラッシングは、ページの入出力が頻発し、処理の進行が妨げられる状態です。システムの多重度、つまり同時に主記憶へ置くプロセス数を上げると、主記憶がさらに不足して悪化する場合があります。防止には、多重度を下げるなどして各プロセスに十分な主記憶を割り当てます。 -
エ:誤りです。
デマンドページングは、ページが必要になった時点で、そのページを主記憶へ読み込む方式です。実行モジュールを実行時に結合するのは、動的リンクの説明です。
よくある誤解
-
LRUとFIFOを混同する
LRUは「最後に使われた時点」に注目し、FIFOは「主記憶に入った順番」に注目します。 -
多重度を上げれば処理性能が上がると思う
プロセス数を増やしすぎると主記憶が不足し、スラッシングを招くことがあります。 -
デマンドページングと動的リンクを混同する
デマンドページングはページの読み込み方式、動的リンクはプログラム部品を実行時に結合する方式です。
補足コラム
仮想記憶では、仮想アドレスと物理アドレスの対応付けを行います。主記憶に必要なページがない場合はページフォールトが発生し、OSが補助記憶装置からページを読み込みます。ページフォールトが過剰に発生すると、スラッシングにつながります。
FAQ
仮想記憶を使うと、主記憶そのものが増えるのですか?
いいえ。主記憶の物理容量が増えるわけではありません。補助記憶装置も利用し、主記憶より大きな記憶空間を扱えるようにします。
いいえ。主記憶の物理容量が増えるわけではありません。補助記憶装置も利用し、主記憶より大きな記憶空間を扱えるようにします。
LRUは、いつ主記憶に読み込まれたかを見ないのですか?
ページの読み込み時刻ではなく、最後に参照された時刻を基準に、長く使われていないページを選びます。
ページの読み込み時刻ではなく、最後に参照された時刻を基準に、長く使われていないページを選びます。
関連キーワード: 仮想記憶、LRU、FIFO、デマンドページング、ページフォールト、スラッシング

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

