推奨されます, 2019

エディターズチョイス

OSのページングとセグメンテーションの違い

オペレーティングシステムのメモリ管理は、実行のためにメモリをプロセスに割り当て、プロセスが不要になったときにメモリの割り当てを解除するために不可欠な機能です。 この記事では、2つのメモリー管理方式のページングとセグメンテーションについて説明します。 ページングとセグメンテーションの基本的な違いは、「ページ」は固定サイズのブロックであるのに対し、「セグメント」は可変サイズのブロックであるということです。

以下に示す比較チャートを使用して、ページングとセグメンテーションの違いについてさらに説明します。

比較表

比較基準ページングセグメンテーション
基本ページは固定ブロックサイズです。セグメントは可変サイズです。
断片化ページングは​​内部の断片化につながる可能性があります。細分化は外部の細分化につながる可能性があります。
住所ユーザ指定アドレスは、CPUによってページ番号とオフセットに分割されます。ユーザーは各アドレスを2つの数量、セグメント番号とオフセット(Segment limit)で指定します。
サイズハードウェアがページサイズを決定します。セグメントサイズはユーザーが指定します。
ページングには、各ページのベースアドレスを含むページテーブルが含まれます。セグメンテーションは、セグメント番号とオフセット(セグメント長)を含むセグメントテーブルを含みます。

ページングの定義

ページングメモリ管理方式です。 ページングを使用すると、プロセスを隣接しない方法でメモリに格納できます。 プロセスを隣接しない方法で格納すると、 外部の 断片化の問題が解決さます。

ページングを実施するために、 物理的および論理的メモリ空間は同じ固定サイズのブロックに分割される。 これらの固定サイズの物理メモリブロックはフレームと呼ばれ、固定サイズの論理メモリブロックはページと呼ばれます

プロセスが実行される必要があるとき、論理メモリ空間からのプロセスページは物理メモリアドレス空間のフレームにロードされる。 フレームにアクセスするためにCPUによって生成されたアドレスは、2つの部分、すなわちページ番号ページオフセットに分割されます

ページテーブルはインデックスとしてページ番号を使用します。 各プロセスは、論理アドレスを物理アドレスにマップする個別のページテーブルを持ちます。 ページテーブルは、物理メモリ空間のフレームに格納されているページのベースアドレスを含む。 ページテーブルによって定義されたベースアドレスは、ページが格納されている物理メモリ内のフレーム番号を定義するためにページオフセットと組み合わされます。

セグメンテーションの定義

ページングと同様に、 セグメンテーションメモリ管理スキームです。 ユーザーの記憶観をサポートします。 プロセスは可変サイズのセグメントに分割され、論理メモリアドレス空間にロードされます。

論理アドレス空間は、可変サイズのセグメントの集まりです。 各セグメントには名前長さがあります。 実行のために、論理メモリ空間からのセグメントが物理メモリ空間にロードされる。

ユーザーが指定したアドレスには、 セグメント名オフセットの 2つの数量が含まれています。 セグメントには番号が付けられ、 セグメント名ではなくセグメント番号で参照されます。 このセグメント番号は、 セグメントテーブル内のインデックスとして使用され、 オフセット値はセグメントの長さまたは制限を決定します。 セグメント番号とオフセットを組み合わせると、物理メモリ空間内のセグメントのアドレスが生成されます。

ページングとセグメンテーションの主な違い

  1. ページングとセグメント化の基本的な違いは、ページは常に固定ブロックサイズであるのに対し、セグメントは可変サイズであるということです。
  2. ページは固定ブロックサイズであるため、ページングによって内部の断片化が発生する可能性がありますが、プロセスがメモリ内に内部フラグメントを生成するようなブロックサイズ全体を取得しないことがあります。 メモリが可変サイズのブロックでいっぱいになると、セグメンテーションによって外部の断片化が発生する可能性があります。
  3. ページングにおいて、ユーザはハードウェアによってページ番号とオフセットに分割されるアドレスとして単一の整数を提供するだけです。 一方、セグメント化では、ユーザーはアドレスを2つの量、つまりセグメント番号とオフセットで指定します。
  4. ページのサイズはハードウェアによって決定または指定されます 。 一方、セグメントのサイズはユーザーによって指定されます
  5. ページングでは、 ページテーブル論理アドレスを物理アドレスにマッピングし、物理メモリ空間のフレームに格納されている各ページのベースアドレスを含みます。 ただし、セグメンテーションでは、 セグメントテーブル論理アドレスを物理アドレスにマップし、セグメント番号とオフセット(セグメント制限)を含みます。

結論:

ページングとセグメンテーションはどちらもメモリ管理方式です。 ページングは​​メモリを固定サイズのブロックに分割することを可能にし、セグメンテーションはメモリ空間を可変ブロックサイズのセグメントに分割する。 ページングが内部の断片化につながる場合、セグメンテーションは外部の断片化につながります。

Top