セグメント方式とは?せぐめんとほうしき
セグメント方式とは、プログラムをコード・データ・スタックのような意味のまとまり(セグメント)ごとに区切って主記憶に置く記憶管理方式である。区切りが意味に基づくため各セグメントの大きさは不揃いになり、セグメントごとに読取り専用・実行可などの保護属性を付けられる。固定長のページに機械的に切るページング方式と対になり、両者を組み合わせたセグメントページング方式もある。
最終更新:2026-10-09
基本情報を最短で暗記・合格する →背景
ページングは容量の無駄が少ないが、ページの境界は意味と無関係なので「この範囲は書き換え禁止」のような保護を意味の単位でかけにくい。プログラムの命令部分とデータ部分を分けて保護したい、共有ライブラリを複数プロセスで共用したいという要求から、意味の単位で区切る方式が生まれた。FEでは分割単位と断片化の種類の対応で問われる。
具体例
C言語で書いたプログラムを実行すると、命令が入るテキストセグメントは読取り・実行のみ、変数が入るデータセグメントは読み書き可と属性が分かれる。バグで命令列に書き込もうとすると、この保護に引っかかってセグメンテーションフォールトというエラーで止まる。x86系のCPUはこの方式とページングを併用している。
試験での引っ掛け
ページングとの違いは「固定長か可変長か」。ページは固定長で区画の中に余りが出る内部フラグメンテーション、セグメントは可変長で区画の間に使えない隙間が散らばる外部フラグメンテーションが起きる。どちらの断片化かを逆に答える選択肢が定番。またオーバーレイ方式の意味でセグメントの語が使われる古い用法もある。
関連用語
出典・参考
公式シラバスの2 コンピュータシステム > 1. オペレーティングシステム > (7) 記憶管理に掲載されている用語です。
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。