Skip to the content.

最終更新日:2026年8月31日

まず結論

ページング方式とは、プログラムを固定長のページに分け、主記憶を同じ大きさのページ枠に分けて管理する方式です。

基本情報技術者試験では、次のように判断すると選択肢を切りやすくなります。

用語 何を表す? 判断の合図
ページ プログラム側を固定長に分けた単位 仮想記憶側、プログラム側
ページ枠・フレーム 主記憶側を固定長に分けた単位 主記憶側、物理メモリ側
ページテーブル ページとページ枠の対応表 アドレス変換、対応付け
ページフォールト 必要なページが主記憶にない状態 補助記憶から読み込む

ページング方式のポイントは、プログラムを連続した領域に置かなくてもよいことです。

また、必要なページが主記憶にないときは、まずページフォールトが発生します。

主記憶に空きページ枠がない場合は、次の順番で考えます。

ページフォールト
↓
置換え対象ページを決定
↓
ページアウト
↓
ページイン

直感的な説明

ページング方式は、本を同じ大きさの紙に分けて、空いている棚にバラバラに置くイメージです。

プログラム
[ ページ1 ][ ページ2 ][ ページ3 ]

主記憶
[ 枠A ][ 枠B ][ 枠C ][ 枠D ]

ページ1、ページ2、ページ3が、主記憶上で連続して並んでいる必要はありません。

主記憶
[ ページ2 ][ 空き ][ ページ1 ][ ページ3 ]

このとき、どのページがどのページ枠に入っているかを管理するのが ページテーブル です。

つまり、ページング方式は 細かく同じ大きさに分けて、置き場所を表で管理する方式 と考えると分かりやすいです。

もし必要なページが棚にない場合は、そのページを補助記憶から持ってくる必要があります。

ただし棚に空きがなければ、先に何かを外へ出して場所を作ります。

必要なページがない
→ ページフォールト

空きがない
→ 追い出すページを決める

追い出す
→ ページアウト

必要なページを入れる
→ ページイン

定義・仕組み

ページング方式では、仮想記憶空間を固定長の ページ に分けます。

一方、主記憶は同じ大きさの ページ枠、または フレーム に分けます。

分け方 名前
プログラム・仮想記憶側 固定長に分ける ページ
主記憶・物理メモリ側 固定長に分ける ページ枠、フレーム

ページとページ枠は、ページテーブルで対応付けます。

ページ番号 → ページ枠番号

例えば、ページ1が主記憶のページ枠3に入っているなら、ページテーブルにはその対応が記録されます。

ページ1 → ページ枠3
ページ2 → ページ枠0
ページ3 → ページ枠4

CPUが仮想アドレスを使ってアクセスすると、ページテーブルを使って物理アドレスに変換します。

ページフォールトが起きたときの流れ

CPUが必要とするページが主記憶に存在しないと、ページフォールトが発生します。

この後の処理は、主記憶に空きページ枠があるかどうかで変わります。

空きページ枠がある場合

空きがあれば、置換えは必要ありません。

ページフォールト
↓
必要なページをページイン

空きページ枠がない場合

空きがなければ、既存ページを1つ追い出して場所を作ります。

ページフォールト
↓
置換え対象ページを決定
↓
ページアウト
↓
必要なページをページイン

ここで、置換え対象を決める方法として FIFOLRU などのページ置換アルゴリズムが使われます。

このテーマは、基本情報技術者試験の「コンピュータシステム」や「主記憶管理」と関係する内容です。公式の出題範囲やシラバスは、IPA:基本情報技術者試験 から確認できます。

科目Aでどう出る?

科目Aでは、ページング方式の役割や、関連用語の意味を問う問題が出やすいです。

判断するときは、次のように切り分けます。

問題文の表現 選びたい用語
プログラムを固定長の単位に分割する ページング方式
仮想記憶側の固定長単位 ページ
主記憶側の固定長単位 ページ枠、フレーム
ページとページ枠の対応を管理する ページテーブル
必要なページが主記憶にない ページフォールト
最近使われていないページを置き換える LRU

さらに、処理順を問われたら次のように判断します。

必要なページが主記憶にない
→ ページフォールトが最初

そのうえで、空きページ枠がないなら、

置換え対象ページを決める
→ ページアウト
→ ページイン

です。

つまり試験では、

ページフォールト
→ 置換え対象決定
→ ページアウト
→ ページイン

という順番を押さえておくと、処理順の選択肢を切りやすくなります。

ページング方式では、主記憶上でページが連続している必要はありません。

そのため、可変区画方式で問題になりやすい 外部フラグメンテーション を起こしにくいという特徴があります。

ただし、固定長に分けるので、最後のページやページ枠に使われない部分が残ることがあります。

これは 内部フラグメンテーション と関係します。

どんな場面で使う?

問題文では、ページング方式そのものを長文で深く問われるより、仮想記憶や主記憶管理の説明を読むときに役立ちます。

例えば、次のような流れです。

プログラムがあるページにアクセスする
↓
ページテーブルで対応するページ枠を調べる
↓
主記憶にあればアクセスする
↓
主記憶になければページフォールトが起きる
↓
空きがあればそのページを読み込む
↓
空きがなければ置換え対象を決める
↓
ページアウトして空きを作る
↓
必要なページをページインする

ここで大切なのは、ページフォールトはエラー終了ではなく、必要なページを主記憶に読み込むきっかけ になることです。

ただし、ページフォールトが多すぎると、補助記憶との入れ替えが増えて処理が遅くなります。

この状態は、スラッシングとは?ページフォールトが多発して性能が低下する状態と関係します。

よくある誤解・混同

ページング方式では、次の混同がよく起こります。

誤解・混同 正しい見方
ページとページ枠は同じ意味 ページは仮想記憶側、ページ枠は主記憶側
ページは必ず主記憶上で連続して並ぶ 連続している必要はない
ページフォールトは必ず異常終了 必要なページが主記憶にない状態で、読み込みのきっかけになる
ページフォールトの直後は必ずページイン 空きがなければ、先に置換え対象決定とページアウトが必要
ページアウトは必要なページを読み込む処理 ページアウトは主記憶から追い出す処理
ページインは主記憶から追い出す処理 ページインは補助記憶から主記憶へ読み込む処理
ページング方式は外部フラグメンテーションが中心 固定長なので外部フラグメンテーションは起こしにくい
セグメント方式と同じ ページングは固定長、セグメントは意味のある可変長単位

特に、可変区画方式との違いは重要です。

方式 分け方 見るポイント
可変区画方式 必要な大きさに合わせて区画を作る 空き領域が分かれやすい
ページング方式 固定長のページ・ページ枠に分ける ページテーブルで対応を管理する
セグメント方式 プログラムを意味のある単位に分ける 手続き、データ、スタックなどの単位

試験では、固定長ならページング、意味のある単位ならセグメント、空き領域を順に割り当てるなら可変区画方式 と切り分けます。

まとめ(試験直前用)

  • ページング方式は、プログラムを固定長のページに分ける方式
  • 主記憶側の固定長単位は、ページ枠またはフレーム
  • ページテーブルは、ページとページ枠の対応を管理する
  • ページは主記憶上で連続している必要はない
  • ページフォールトは、必要なページが主記憶にない状態
  • 空きがなければ「ページフォールト → 置換え対象決定 → ページアウト → ページイン」
  • ページアウトは主記憶から追い出す、ページインは主記憶へ読み込む
  • 空きページ枠があれば置換えやページアウトは不要
  • 固定長なので外部フラグメンテーションを起こしにくい
  • ページングは固定長、セグメント方式は意味のある単位で分ける

© 2024-2026 stemtazoo. All rights reserved.