IPA 仮想記憶・主記憶管理 — 頻出論点と過去問
頻出論点
1. この分野は何か
OSが限られた主記憶(物理メモリ)を複数のプログラムにどう割り当て、補助記憶装置と組み合わせて物理容量を超える論理的なアドレス空間をどう見せるかを考える分野です。固定長と可変長の分割方式による断片化の違いや、ページ置換えのアルゴリズムとそれに伴うオーバーヘッドの計算が主な論点になります。
2. 実際の出題のされ方
仮想記憶が何のための仕組みかを、空欄に語句を入れて答える問題がITパスポートで出ています。
応用情報技術者の午前と高度試験の午前Iでは、ページング方式の動作と主記憶の断片化を中心に問われます。具体的には、与えられたページ参照列に対してFIFO方式やLRU方式でページ置換えを順次追跡し、最終的な実記憶のページ状態や特定のページが格納される番地を求める問題が出題されています。また、ページ置換えが多発してシステムの処理能力が急激に低下するスラッシングの用語、ページフォールト・ページイン・ページアウトの発生回数の大小関係、セグメンテーション方式と比較したページング方式の長所を選ばせる問題も出ています。計算問題では、ページアウトを伴う場合と伴わない場合の処理時間からページインのみの割合を求める問題や、1命令当たりの許容遅延時間から許容できるページフォールト発生率の最大値を求める問題が出題されています。さらに、プログラムの大きさがページサイズの半分以下のシステムでページサイズを半分にしたときの効果や、ベストフィット方式の特徴、フラグメンテーションの影響も問われています。
アドレス変換テーブルの構造や主記憶管理の用語・計算は、エンベデッドシステムスペシャリストの午前IIでさらに踏み込んで問われます。仮想アドレス空間・ページサイズ・1エントリの大きさを2のべき乗で与え、ページテーブル全体の大きさを表す式を選ぶ問題や、セグメンテーションページング方式のセグメントテーブルに何が入るかを選ぶ問題が出ています。また、主記憶アクセス時間とページフォールトのオーバーヘッドから1秒当たりの最大ページフォールト発生回数を求める計算問題、可変区画方式における最適適合アルゴリズムの定義、ガーベジコレクションをはじめとする主記憶管理の用語を選ばせる問題も出題されています。
3. 学習のポイント
仮想記憶における分割方式は、固定長で管理するか可変長で管理するかによって性質が異なります。
- ページング方式: 仮想記憶と主記憶を固定長の「ページ」に分割して管理します。同じ大きさの単位で割り当てるため、主記憶上に細かな空き領域が散在する外部断片化(外部分断化)が発生しません。一方、ページの内部に未使用の余りが生じる内部フラグメンテーションは起こり得ます。ページより小さいプログラムでもページ1枚分の主記憶を使うので、ページを小さくすると使われない余りが減ります。その代わり、ページの数が増えてページテーブルが大きくなり、管理の手間は増えます。
- セグメンテーション方式: プログラムやデータなどの論理的な意味を持つ可変長の単位(セグメント)で管理します。論理的な単位でのアクセス保護やプログラム間での共用、実行時の動的なサイズ変更がしやすい反面、可変長であるため外部断片化が発生します。両者を組み合わせたセグメンテーションページング方式では、まずセグメントテーブルを参照して対象セグメントのページテーブルの実アドレスを取得し、次にページテーブルを参照してページの実アドレスを求めます。
次に、ページフォールト発生時の動作とページ置換えアルゴリズムを押さえます。試験で扱う、必要になったページを補助記憶から読み込むモデルでは、アクセス対象のページが主記憶に無いとページフォールト(割込み)が起き、ページインが行われます。空き枠が無いときは置換え対象のページを選び、読み込み後に更新されていれば補助記憶へ書き戻します(ページアウト)。更新されていなければ書き戻さずに枠を使います。このモデルでは、ページフォールトとページインの回数は等しく、ページアウトの回数はそれ以下になります。どのページを追い出すかを決める代表的な方式が次の2つです。
- FIFO(First In First Out)方式: 主記憶に最も古くから存在する(最も早くロードされた)ページを置換対象とします。すでに主記憶にあるページが再参照されても、追い出す順序は変わりません。
- LRU(Least Recently Used)方式: 最後に参照されてからの経過時間が最も長いページを置換対象とします。すでに主記憶にあるページが参照(ページヒット)された場合、そのページの参照履歴が最も新しいものに更新される点がFIFO方式との違いです。
計算問題では、単位の換算(ミリ秒は秒、マイクロ秒は秒、ナノ秒は秒)と、1回の事象当たりにかかる時間の内訳を正確に式にします。たとえば、1命令当たり主記憶に平均回アクセスし、1アクセス当たりのページフォールト発生率が、1回のページフォールトのオーバーヘッドがであれば、1命令当たりの平均遅延時間はで表せます。また、ページテーブルの大きさは、仮想アドレス空間のページ数(仮想アドレス空間の大きさ ページサイズ)に1エントリの大きさを掛けて求めます。
主記憶の空き領域管理の用語も対比して覚えます。
- 可変区画方式の割当てアルゴリズム: 要求サイズ以上の空き領域のうち、最小のものを割り当てるのがベストフィット(最適適合)方式、最初に見つかったものを割り当てるのがファーストフィット(最初適合)方式です。ベストフィットは要求にいちばん近い大きさの領域を選ぶため、割り当てた残りがごく小さくなり、その小さな残りが使い道のないまま散らばっていきます。
- メモリプール管理と領域の整理: 獲得と返却を繰り返すと空き領域が細切れになり、空きの総量が足りていても、まとまった大きさの領域を取れなくなります。これに対し、固定長ブロックのメモリプール管理方式は同一サイズのブロックで管理するため、獲得と返却が速く外部フラグメンテーションが発生しません。使用中の領域を片側に詰め直して、散らばった空き領域を1か所にまとめる処理をコンパクションと呼び、どこからも参照されなくなったヒープ上の領域を見つけて、使える領域に戻すのがガーベジコレクションです。
4. 間違えやすいところ
用語の定義を入れ替えた誤答肢が複数の問題で見られます。
- FIFOとLRUの取り違え: LRUを、最も早くロードされたページを追い出す方式とする誤答肢があります。ロードされた時刻が最も古いものを選ぶのはFIFOであり、LRUは最後に参照されてからの経過時間が最長のものを選びます。トレース問題でも、ページヒット時にLRUでは参照履歴を更新するのに対し、FIFOでは更新しない点を混同しないよう注意が必要です。
- ページテーブルのエントリ数と格納アドレスの混同: ページテーブルを主記憶にあるページの分だけ用意すればよいとする誤答肢がありますが、ページテーブルのエントリは主記憶の枠数ではなく仮想アドレス空間の全ページ分()必要です。また、セグメンテーションページング方式のセグメントテーブルに格納される情報を「当該セグメントに含まれるページの実アドレス」や「当該セグメントに含まれるページを管理するページテーブルの仮想アドレス」とする誤答肢もあります。ハードウェアがそのまま参照できる実アドレスである点に注意します。
- スラッシング対策の向き: 「スラッシングを防ぐためには,システムの多重度を上げることが有効である」という誤答肢があります。多重度を上げると1プログラム当たりに割り当てられる主記憶がさらに減ってページフォールトが激増するため、多重度は下げる必要があります。
- ガーベジコレクションと他の記憶管理処理の混同: 「ページフォールトが発生した場合は,ガーベジコレクションが必要である」としたり、メモリ領域が返却されるたびにガーベジコレクションを行うとしたりする誤答肢があります。ページフォールト時に必要なのはページインであり、またガーベジコレクションは負荷が高いため返却のたびに毎回行うものではありません。
- アクセス回数の掛け忘れ: 許容できるページフォールト発生率を求める計算では、1命令当たりの主記憶のアクセス回数が1回とは限りません。アクセス回数を掛け忘れると、許容できる発生率をその回数倍だけ大きく見積もってしまいます。
仮想記憶・主記憶管理の理解度チェック
仮想記憶・主記憶管理の過去問一覧
- 2025(R7)秋 応用情報技術者 午前 問5 記憶領域を管理するアルゴリズムのうち,ベストフィット方式の特徴として,適切なものはどれか。…
- 2025(R7)秋 エンベデッドシステムスペシャリスト 午前II 問7 ページング方式の仮想記憶において,あるプロセスが仮想アドレス空間全体に対応したページテーブルをもつ場合,ページテーブルに…
- 2025(R7)春 応用情報技術者 午前 問15 仮想記憶管理におけるページ置換えアルゴリズムとしてLRU方式を採用する。主記憶のページ枠が,4000, 5000, 60…
- 2025(R7)春 高度試験共通 午前I 問6 仮想記憶管理におけるページ置換えアルゴリズムとしてLRU方式を採用する。主記憶のページ枠が,4000, 5000, 60…
- 2025年度(R7) ITパスポート 問62 OSの仮想記憶方式に関する次の記述中の a 〜 c に入れる字句の適切な組合せはどれか。 プログラムの実行時に,コンピュ…
- 2024(R6)秋 応用情報技術者 午前 問17 ページング方式の仮想記憶において,ページ置換えの発生頻度が高くなり,システムの処理能力が急激に低下することがある。このよ…
- 2024(R6)秋 応用情報技術者 午前 問18 仮想記憶方式において,セグメンテーション方式と比較した場合のページング方式の長所はどれか。…
- 2024(R6)秋 高度試験共通 午前I 問6 仮想記憶方式において,セグメンテーション方式と比較した場合のページング方式の長所はどれか。…
- 2024(R6)秋 エンベデッドシステムスペシャリスト 午前II 問7 可変区画方式を用いた主記憶管理において,最適適合アルゴリズムによって割り当てられる未使用領域はどれか。…
- 2023(R5)秋 応用情報技術者 午前 問16 ページング方式の仮想記憶において,あるプログラムを実行したとき,1回のページフォールトの平均処理時間は 30 ミリ秒であ…
- 2023(R5)春 応用情報技術者 午前 問17 仮想記憶システムにおいて,ページ置換えアルゴリズムとして FIFOを採用して,仮想ページ参照列 1, 4, 2, 4, …
- 2023(R5)春 応用情報技術者 午前 問18 仮想記憶方式に関する記述のうち,適切なものはどれか。…
- 2022(R4)秋 応用情報技術者 午前 問17 ほとんどのプログラムの大きさがページサイズの半分以下のシステムにおいて,ページサイズを半分にしたときに予想されるものはど…
- 2022(R4)秋 エンベデッドシステムスペシャリスト 午前II 問5 主記憶への 1回のアクセスが 200ナノ秒で,ページフォールトが発生すると 1回当たり更に 100ミリ秒のオーバーヘッド…
- 2022(R4)秋 エンベデッドシステムスペシャリスト 午前II 問8 プログラム実行時の主記憶管理に関する記述として,適切なものはどれか。…
- 2022(R4)秋 エンベデッドシステムスペシャリスト 午前II 問11 主記憶管理に関する記述のうち,適切なものはどれか。…
- 2022(R4)春 応用情報技術者 午前 問18 フラグメンテーションに関する記述のうち,適切なものはどれか。…
- 2021(R3)秋 応用情報技術者 午前 問16 ページング方式の仮想記憶において,ページ置換えの発生頻度が高くなり,システムの処理能力が急激に低下することがある。このよ…
- 2021(R3)秋 応用情報技術者 午前 問17 主記憶へのアクセスを 1命令当たり平均 2回行い,ページフォールトが発生すると 1回当たり 40 ミリ秒のオーバヘッドを…
- 2021(R3)秋 応用情報技術者 午前 問19 仮想記憶方式における補助記憶の機能はどれか。…
- 2021(R3)秋 高度試験共通 午前I 問6 ページング方式の仮想記憶において,ページ置換えの発生頻度が高くなり,システムの処理能力が急激に低下することがある。このよ…
- 2021(R3)秋 エンベデッドシステムスペシャリスト 午前II 問8 セグメンテーションページング方式の仮想記憶において,セグメントテーブルに格納される情報はどれか。…
- 2021(R3)春 応用情報技術者 午前 問18 プログラム実行時の主記憶管理に関する記述として,適切なものはどれか。…
- 2021(R3)春 応用情報技術者 午前 問19 ページング方式の仮想記憶において,ページアクセス時に発生する事象をその回数の多い順に並べたものはどれか。ここで,A ≧ …
- 2021(R3)春 高度試験共通 午前I 問6 ページング方式の仮想記憶において,ページアクセス時に発生する事象をその回数の多い順に並べたものはどれか。ここで,A ≧ …
- 2019(R1)秋 システムアーキテクト 午前II 問19 ページング方式の仮想記憶において,主記憶の 1 回のアクセス時間が 300 ナノ秒で,主記憶アクセス 100 万回に 1…