---
title: "主記憶管理方式の違いとは？固定区画・可変区画・ページングを比較【基本情報技術者試験】"
description: "主記憶管理方式を、固定区画方式、可変区画方式、ページング方式、セグメント方式、仮想記憶の違いで整理し、内部フラグメンテーション、外部フラグメンテーション、ページフォールトをFE試験で切り分けられるように解説します。"
last_modified_at: "2026-07-25"
canonical_url: "https://stemtazoo.github.io/fe/memory-management-methods/"
section: "fe"
---

## まず結論

主記憶管理方式では、**主記憶をどの単位で分けて、どのようにプログラムへ割り当てるか** を見ます。

基本情報技術者試験では、細かい実装よりも、次のように切り分けると選択肢を選びやすくなります。

| 方式 | 分け方 | 判断の合図 |
|---|---|---|
| [固定区画方式](https://stemtazoo.github.io/fe/fixed-partition-memory-allocation/) | 主記憶をあらかじめ決まった区画に分ける | あらかじめ区画、区画内の未使用部分 |
| [可変区画方式](https://stemtazoo.github.io/fe/variable-partition-memory-allocation/) | 必要な大きさに合わせて区画を作る | ロード、解放、空き領域の分断 |
| [ページング方式](https://stemtazoo.github.io/fe/paging/) | 固定長のページとページ枠に分ける | ページ、ページ枠、ページテーブル |
| セグメント方式 | 意味のある単位に分ける | 手続き、データ、スタックなどの単位 |
| 仮想記憶 | 主記憶より大きな記憶空間を扱う | 補助記憶、ページフォールト、スワッピング |

最初に押さえるなら、次の3つで十分です。

```text
あらかじめ区画を決める
→ 固定区画方式

必要な大きさで区画を作る
→ 可変区画方式

固定長のページで管理する
→ ページング方式
```

## 直感的な説明

主記憶管理方式は、限られた机の上をどう使うかを決めるルールです。

机の上に、いろいろな大きさの資料を置くとします。

- 最初から枠を決めておく
- 資料の大きさに合わせて枠を作る
- すべて同じ大きさの紙に分けて置く
- 意味のある章ごとに分けて置く

この違いが、主記憶管理方式の違いに近いです。

```text
固定区画方式：先に枠を決める
可変区画方式：必要な大きさで枠を作る
ページング方式：同じ大きさの紙に分ける
セグメント方式：章や役割ごとに分ける
```

試験では、名前よりも **分け方** を見ると迷いにくくなります。

## 定義・仕組み

主記憶管理方式は、プログラムを主記憶に置くための管理方法です。

主記憶は容量が限られているため、OSはプログラムやデータを効率よく配置する必要があります。

代表的な方式を整理すると、次のようになります。

| 方式 | 管理単位 | 主な特徴 | 注意点 |
|---|---|---|---|
| 固定区画方式 | あらかじめ決めた区画 | 管理が単純 | 区画内に無駄が出やすい |
| 可変区画方式 | 必要な大きさの区画 | 柔軟に割り当てられる | 空き領域が分断されやすい |
| ページング方式 | 固定長のページ | 連続領域でなくても配置しやすい | ページテーブルが必要 |
| セグメント方式 | 意味のある可変長単位 | プログラム構造に合いやすい | セグメントの大きさは一定ではない |
| 仮想記憶 | 仮想アドレス空間 | 主記憶より大きな空間を扱える | ページフォールトが多いと遅くなる |

このテーマは、基本情報技術者試験の「コンピュータシステム」や「主記憶管理」と関係する内容です。公式の出題範囲やシラバスは、[IPA：基本情報技術者試験](https://www.ipa.go.jp/shiken/kubun/fe.html) から確認できます。

## 科目Aでどう出る？

科目Aでは、方式名と説明の対応や、フラグメンテーションとの関係が問われやすいです。

判断するときは、次の表で切ります。

| 問題文の表現 | 選びたい用語 |
|---|---|
| 主記憶をあらかじめ決めた区画に分ける | 固定区画方式 |
| プログラムの大きさに合わせて区画を作る | 可変区画方式 |
| プログラムを固定長のページに分ける | ページング方式 |
| 主記憶側の固定長単位 | ページ枠、フレーム |
| ページとページ枠の対応を管理する | ページテーブル |
| 意味のある単位で分ける | セグメント方式 |
| 必要なページが主記憶にない | ページフォールト |
| 区画内に未使用部分が残る | 内部フラグメンテーション |
| 空き領域が分断される | 外部フラグメンテーション |

特に、フラグメンテーションは次のように押さえます。

```text
区画の中に余りが出る
→ 内部フラグメンテーション

空き領域があちこちに分かれる
→ 外部フラグメンテーション
```

固定区画方式では、区画内の未使用部分が問題になりやすいです。

可変区画方式では、ロードと解放を繰り返すことで、空き領域が分かれることが問題になりやすいです。

ページング方式では、固定長のページとページ枠で管理するため、ページテーブルによる対応付けが重要になります。

## どんな場面で使う？

問題文では、主記憶管理方式の名前だけを聞くより、図や状態変化を読む形で使うことがあります。

例えば、可変区画方式では、ロードと解放を順番に追います。

```text
[ A ][ B ][ C ][ 空き ]
↓ Bを解放
[ A ][ 空き ][ C ][ 空き ]
```

この場合、空き領域は2か所です。

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

```text
仮想記憶側
[ ページ1 ][ ページ2 ][ ページ3 ]

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

この対応を管理するのがページテーブルです。

問題文では、次の順に読むと安全です。

1. 固定長で分けているか、可変長で分けているかを見る
2. あらかじめ区画が決まっているかを見る
3. ロード・解放で空き領域が分かれていないかを見る
4. ページやページ枠の対応表が出ていないかを見る
5. 問われているのが容量なのか、個数なのか、対応関係なのかを見る

## よくある誤解・混同

主記憶管理方式では、次の混同がよく起こります。

| 混同 | 正しい切り分け |
|---|---|
| 固定区画方式とページング方式が同じに見える | 固定区画方式は区画にプログラムを割り当てる。ページングはページとページ枠で対応付ける |
| 可変区画方式とセグメント方式が同じに見える | 可変区画方式は空き領域への割当方式。セグメント方式は意味のある単位で分ける方式 |
| 内部フラグメンテーションと外部フラグメンテーションを逆にする | 内部は区画の中、外部は空き領域の分断 |
| ページとページ枠を同じ意味で使う | ページは仮想記憶側、ページ枠は主記憶側 |
| ページフォールトを異常終了と考える | 必要なページが主記憶にない状態で、読み込みのきっかけになる |

特に、固定長という言葉だけで固定区画方式と決めないようにします。

- 固定区画方式：主記憶をあらかじめ区画に分ける
- ページング方式：プログラムを固定長のページに分け、主記憶のページ枠と対応させる

同じ「固定っぽい」方式でも、見ている単位が違います。

## まとめ（試験直前用）

- 主記憶管理方式は、主記憶をどの単位で分けて割り当てるかを見る
- 固定区画方式は、あらかじめ区画を決める
- 可変区画方式は、必要な大きさに合わせて区画を作る
- ページング方式は、固定長のページとページ枠で管理する
- セグメント方式は、意味のある単位で分ける
- 内部フラグメンテーションは、区画の中の未使用部分
- 外部フラグメンテーションは、空き領域の分断
- ページフォールトは、必要なページが主記憶にない状態
