エンベデッドシステムスペシャリスト 2010年 午前2 問07
問題文
記憶管理におけるオーバレイ方式の記述として、適切なものはどれか。
選択肢
ア:セグメントをページに分割し、ページ単位に退避と読込みを行う。
イ:退避したプログラムが再び必要になった場合は、それを主記憶に読み込む。
ウ:必要がなくなったセグメントの領域に、次に実行するセグメントが上書きされる。(正解)
エ:優先度の高いプログラムを実行するために、優先度の低いプログラムを主記憶から追い出す。
🔒 解説は解答すると表示されます
オーバレイ方式【午前2解説】
正解の理由
オーバレイ方式は、プログラムを複数の部分(セグメント)に分け、実行時に必要な部分を主記憶へ読み込む方式です。すでに使い終わった部分が占めていた領域に、次に必要な部分を読み込んで上書きします。
したがって、必要がなくなったセグメントの領域を次のセグメントに再利用するという説明のウが適切です。
解法ステップ
- 「オーバレイ方式」の特徴を思い出します。
- プログラムの一部ずつを主記憶に読み込み、領域を使い回す方式だと確認します。
- 「不要になったセグメントの領域に、次のセグメントを上書きする」と説明している選択肢を選びます。
選択肢別の誤答解説
- ア:セグメントをさらにページに分割し、ページ単位で主記憶と補助記憶の間を移動させる説明です。ページング方式に関する記述です。
- イ:主記憶から退避したプログラムを、必要になったときに再び読み込む説明です。スワッピングに関する記述です。
- ウ:不要になったセグメントの領域を次のセグメントに引き継ぐ説明であり、オーバレイ方式の特徴です。
- エ:優先度の低いプログラムを主記憶から追い出す説明です。優先度に基づく主記憶の入替えに関する記述で、オーバレイ方式そのものではありません。
よくある誤解
- 「主記憶から何かを追い出す方式」はすべてオーバレイ方式だと思う
オーバレイ方式の要点は、プログラムの部分同士で同じ領域を順番に使い回すことです。 - ページングとオーバレイを混同する
ページングは固定長のページ単位で管理します。オーバレイ方式では、プログラムを実行上のまとまりに分けて、必要な部分を読み込みます。 - 退避したものを後で戻す動作があればオーバレイ方式だと思う
退避したプログラムを再び読み込む動作は、スワッピングの説明として捉えます。
補足コラム
オーバレイ方式は、主記憶の容量が限られていた時代に、大きなプログラムを実行するために用いられました。プログラム全体を同時に主記憶へ置くのではなく、同時に必要となる部分だけを置くことで、限られた領域を有効に使います。
FAQ
Q. オーバレイ方式では、プログラム全体を主記憶に読み込みますか?
A. いいえ。実行に必要な部分を順次読み込み、使い終わった部分の領域を次の部分に再利用します。
A. いいえ。実行に必要な部分を順次読み込み、使い終わった部分の領域を次の部分に再利用します。
Q. オーバレイ方式とスワッピングの違いは何ですか?
A. オーバレイ方式は、プログラムを分割し、その一部ずつを同じ領域に読み込む方式です。スワッピングは、プログラムなどを主記憶から補助記憶へ退避させ、必要に応じて主記憶へ戻す方式です。
A. オーバレイ方式は、プログラムを分割し、その一部ずつを同じ領域に読み込む方式です。スワッピングは、プログラムなどを主記憶から補助記憶へ退避させ、必要に応じて主記憶へ戻す方式です。
関連キーワード: オーバレイ方式、セグメント、主記憶、ページング、スワッピング

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

