最終更新日:2026年7月25日
fe fe-technology computer-system
まず結論
主記憶管理方式では、主記憶をどの単位で分けて、どのようにプログラムへ割り当てるか を見ます。
基本情報技術者試験では、細かい実装よりも、次のように切り分けると選択肢を選びやすくなります。
| 方式 | 分け方 | 判断の合図 |
|---|---|---|
| 固定区画方式 | 主記憶をあらかじめ決まった区画に分ける | あらかじめ区画、区画内の未使用部分 |
| 可変区画方式 | 必要な大きさに合わせて区画を作る | ロード、解放、空き領域の分断 |
| ページング方式 | 固定長のページとページ枠に分ける | ページ、ページ枠、ページテーブル |
| セグメント方式 | 意味のある単位に分ける | 手続き、データ、スタックなどの単位 |
| 仮想記憶 | 主記憶より大きな記憶空間を扱う | 補助記憶、ページフォールト、スワッピング |
最初に押さえるなら、次の3つで十分です。
あらかじめ区画を決める
→ 固定区画方式
必要な大きさで区画を作る
→ 可変区画方式
固定長のページで管理する
→ ページング方式
直感的な説明
主記憶管理方式は、限られた机の上をどう使うかを決めるルールです。
机の上に、いろいろな大きさの資料を置くとします。
- 最初から枠を決めておく
- 資料の大きさに合わせて枠を作る
- すべて同じ大きさの紙に分けて置く
- 意味のある章ごとに分けて置く
この違いが、主記憶管理方式の違いに近いです。
固定区画方式:先に枠を決める
可変区画方式:必要な大きさで枠を作る
ページング方式:同じ大きさの紙に分ける
セグメント方式:章や役割ごとに分ける
試験では、名前よりも 分け方 を見ると迷いにくくなります。
定義・仕組み
主記憶管理方式は、プログラムを主記憶に置くための管理方法です。
主記憶は容量が限られているため、OSはプログラムやデータを効率よく配置する必要があります。
代表的な方式を整理すると、次のようになります。
| 方式 | 管理単位 | 主な特徴 | 注意点 |
|---|---|---|---|
| 固定区画方式 | あらかじめ決めた区画 | 管理が単純 | 区画内に無駄が出やすい |
| 可変区画方式 | 必要な大きさの区画 | 柔軟に割り当てられる | 空き領域が分断されやすい |
| ページング方式 | 固定長のページ | 連続領域でなくても配置しやすい | ページテーブルが必要 |
| セグメント方式 | 意味のある可変長単位 | プログラム構造に合いやすい | セグメントの大きさは一定ではない |
| 仮想記憶 | 仮想アドレス空間 | 主記憶より大きな空間を扱える | ページフォールトが多いと遅くなる |
このテーマは、基本情報技術者試験の「コンピュータシステム」や「主記憶管理」と関係する内容です。公式の出題範囲やシラバスは、IPA:基本情報技術者試験 から確認できます。
科目Aでどう出る?
科目Aでは、方式名と説明の対応や、フラグメンテーションとの関係が問われやすいです。
判断するときは、次の表で切ります。
| 問題文の表現 | 選びたい用語 |
|---|---|
| 主記憶をあらかじめ決めた区画に分ける | 固定区画方式 |
| プログラムの大きさに合わせて区画を作る | 可変区画方式 |
| プログラムを固定長のページに分ける | ページング方式 |
| 主記憶側の固定長単位 | ページ枠、フレーム |
| ページとページ枠の対応を管理する | ページテーブル |
| 意味のある単位で分ける | セグメント方式 |
| 必要なページが主記憶にない | ページフォールト |
| 区画内に未使用部分が残る | 内部フラグメンテーション |
| 空き領域が分断される | 外部フラグメンテーション |
特に、フラグメンテーションは次のように押さえます。
区画の中に余りが出る
→ 内部フラグメンテーション
空き領域があちこちに分かれる
→ 外部フラグメンテーション
固定区画方式では、区画内の未使用部分が問題になりやすいです。
可変区画方式では、ロードと解放を繰り返すことで、空き領域が分かれることが問題になりやすいです。
ページング方式では、固定長のページとページ枠で管理するため、ページテーブルによる対応付けが重要になります。
どんな場面で使う?
問題文では、主記憶管理方式の名前だけを聞くより、図や状態変化を読む形で使うことがあります。
例えば、可変区画方式では、ロードと解放を順番に追います。
[ A ][ B ][ C ][ 空き ]
↓ Bを解放
[ A ][ 空き ][ C ][ 空き ]
この場合、空き領域は2か所です。
一方、ページング方式では、ページが主記憶上で連続して並んでいる必要はありません。
仮想記憶側
[ ページ1 ][ ページ2 ][ ページ3 ]
主記憶側
[ ページ2 ][ 空き ][ ページ1 ][ ページ3 ]
この対応を管理するのがページテーブルです。
問題文では、次の順に読むと安全です。
- 固定長で分けているか、可変長で分けているかを見る
- あらかじめ区画が決まっているかを見る
- ロード・解放で空き領域が分かれていないかを見る
- ページやページ枠の対応表が出ていないかを見る
- 問われているのが容量なのか、個数なのか、対応関係なのかを見る
よくある誤解・混同
主記憶管理方式では、次の混同がよく起こります。
| 混同 | 正しい切り分け |
|---|---|
| 固定区画方式とページング方式が同じに見える | 固定区画方式は区画にプログラムを割り当てる。ページングはページとページ枠で対応付ける |
| 可変区画方式とセグメント方式が同じに見える | 可変区画方式は空き領域への割当方式。セグメント方式は意味のある単位で分ける方式 |
| 内部フラグメンテーションと外部フラグメンテーションを逆にする | 内部は区画の中、外部は空き領域の分断 |
| ページとページ枠を同じ意味で使う | ページは仮想記憶側、ページ枠は主記憶側 |
| ページフォールトを異常終了と考える | 必要なページが主記憶にない状態で、読み込みのきっかけになる |
特に、固定長という言葉だけで固定区画方式と決めないようにします。
- 固定区画方式:主記憶をあらかじめ区画に分ける
- ページング方式:プログラムを固定長のページに分け、主記憶のページ枠と対応させる
同じ「固定っぽい」方式でも、見ている単位が違います。
まとめ(試験直前用)
- 主記憶管理方式は、主記憶をどの単位で分けて割り当てるかを見る
- 固定区画方式は、あらかじめ区画を決める
- 可変区画方式は、必要な大きさに合わせて区画を作る
- ページング方式は、固定長のページとページ枠で管理する
- セグメント方式は、意味のある単位で分ける
- 内部フラグメンテーションは、区画の中の未使用部分
- 外部フラグメンテーションは、空き領域の分断
- ページフォールトは、必要なページが主記憶にない状態