仮想メモリーのセグメント方式とページング方式の違いとは?

最終更新日 2019年10月11日

仮想メモリーのセグメント方式とページング方式の違いとは何か

仮想メモリーにはセグメント方式とページング方式がありますが、両者の違いは何なのでしょうか。

第8回 Windowsの仮想メモリーを見てみよう | 日経 xTECH(クロステック) には、以下のとおり書かれています。
 メモリーが不足したときには,メモリー(物理メモリー)上のプログラム全体がまるごとハードディスク(仮想メモリー)に移されるわけではありません。プログラムをいくつかの部分に分割して,部分ごとに移します。プログラムを,処理やデータに都合のよい区切りで分割するのが「セグメント方式」で,内容にかかわらず固定サイズで分割するのが「ページング方式」です。
同記事によると、セグメント方式は効率が良いが仕組みは複雑であり、ページング方式は効率が悪いが仕組みは単純であり、どちらの方が良いとは一概には言えないそうです。また、Windows ではページング方式を採用しているそうです。

オペレーティングシステム - 東京情報大学 によると、仮想メモリーの領域はブロックに分割され、ブロックの分割には複数の方式があり、それぞれの方式について以下のとおり書かれています。
 ※なお,ブロックを「プログラムにとって意味のあるまとまり」とする場合,ブロックの長さは不定長
  (つまり,ブロックの長さはブロックごとに異なる)となり,セグメントと呼ばれる。これをセグメント
  方式と呼ぶ。
 ※それに対し,固定長のブロックをページ(page)と呼び,ページを使った方式をページング方式と呼ぶ。
「プログラムにとって意味のあるまとまり」とは、日経 xTECH(クロステック)の記事に書かれていた「処理やデータに都合のよい区切り」に当てはまると考えられます。


キャンペーン情報
富士通
・大ボーナスセール
クーポン利用で16〜23%OFF等の10大特典
(11月27日迄)
学割キャンペーン icon
学生、教職員の方に特別割引クーポン等の学割特典
(キャンペーン実施中)
シークレットクーポン
特別割引率のクーポン
(11月27日迄)