セグメンテーションとは?
セグメンテーションとは、プログラムを可変長の論理的なまとまり(コード、データ、スタックなど)に分けて管理する方式。セグメントテーブルで各セグメントの先頭アドレスと長さ、保護属性を管理する。ページングと組み合わせる場合、セグメントテーブルの各エントリが対応するページテーブルの実アドレスを保持する。
エンベデッドシステムスペシャリスト試験の過去問では1回出題されています。
せぐめんてーしょん
セグメンテーションの意味
プログラムを可変長の論理的なまとまり(コード、データ、スタックなど)に分けて管理する方式。セグメントテーブルで各セグメントの先頭アドレスと長さ、保護属性を管理する。ページングと組み合わせる場合、セグメントテーブルの各エントリが対応するページテーブルの実アドレスを保持する。
セグメンテーションの具体例
セグメント長を超えるアクセスを検出して保護例外を発生させる。
セグメンテーションは試験でどう引っ掛けられる?
可変長ゆえに空き領域が細切れになる外部断片化が生じる。固定長のページングで生じるのは内部断片化。
セグメンテーションと関連する用語
セグメンテーションが出た過去問
セグメンテーションページング方式の仮想記憶において、セグメントテーブルに格納される情報はどれか。
正解:当該セグメントに含まれるページを管理するページテーブルの実アドレス
要点:セグメントテーブルはページテーブルの実アドレスを保持する
セグメンテーションページング方式では、プログラムをまずセグメントに分け、各セグメントをさらにページに分割して管理する。アドレス変換は2段階で行われ、セグメントテーブルの各エントリには、そのセグメントに対応するページテーブルが主記憶上のどこにあるかを示す実アドレスが格納される。次にそのページテーブルを引いてページの実アドレスを得る。
出典:令和3年度 秋期 エンベデッドシステムスペシャリスト試験 am2 問8(IPA)
最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。