OSでのページングとスワッピングの違い

著者: Laura McKinney
作成日: 2 4月 2021
更新日: 1 J 2024
Anonim
ゆっくりで学ぶ基本情報技術者試験  仮想記憶管理【ゆっくり解説】
ビデオ: ゆっくりで学ぶ基本情報技術者試験 仮想記憶管理【ゆっくり解説】

コンテンツ


ページングとスワッピングは2つです メモリ管理戦略。 実行するには、各プロセスをメインメモリに配置する必要があります。スワップとページングは​​両方とも、実行のためにプロセスをメインメモリに配置します。 スワッピング プロセスをメインメモリからバックストアにスワップし、スワップをメインメモリにスワップするCPUスケジューリングアルゴリズムに追加できます。 ページング プロセスの物理アドレス空間を 不連続。以下に示す比較チャートを使用して、ページングとスワッピングの違いについて説明します。

  1. 比較表
  2. 定義
  3. 主な違い
  4. 結論

比較表

比較の基礎ページングスワッピング
ベーシックページングにより、プロセスのメモリアドレス空間を不連続にすることができます。スワップにより、オペレーティングシステムで複数のプログラムを並行して実行できます。
柔軟性プロセスのページのみが移動されるため、ページングは​​より柔軟になります。スワップは、メインメモリとバックストアの間でプロセス全体を前後に移動するため、柔軟性が低くなります。
マルチプログラミングページングにより、より多くのプロセスをメインメモリに配置できますページングスワッピングと比較して、メインメモリに常駐するプロセスが少なくなります。

ページングの定義

ページングは​​メモリ管理スキームであり、 不連続アドレス空間 プロセスに。さて、プロセスの物理アドレスが不連続になる可能性がある場合、 外部フラグメンテーション 発生しません。


ページングは​​、 主記憶 呼び出される固定サイズのブロックに フレーム。の プロセスの論理メモリ と呼ばれる同じ固定サイズのブロックに分割されます ページ数。ページサイズとフレームサイズは、ハードウェアによって定義されます。知っているように、プロセスは実行のためにメインメモリに配置されます。そのため、プロセスを実行する場合、ソース(バックストア)からのプロセスのページは、メインメモリ内の利用可能なフレームにロードされます。

次に、ページングの実装方法について説明します。 CPUは、次の2つの部分で構成されるプロセスの論理アドレスを生成します ページ番号 そしてその ページオフセット。ページ番号は インデックス の中に ページテーブル.

ページテーブルには ベースアドレス メインメモリにロードされた各ページの。このベースアドレスは、ページオフセットと組み合わされて、メインメモリ内のページのアドレスを生成します。

すべてのオペレーティングシステムには、ページテーブルを格納する独自の方法があります。ほとんどのオペレーティングシステムには、プロセスごとに個別のページテーブルがあります。

スワッピングの定義

実行するには、各プロセスをメインメモリに配置する必要があります。プロセスを実行する必要があり、メインメモリが完全にいっぱいになった場合、 メモリマネージャー 交換 他のプロセスを実行する場所を空にすることによる、メインメモリからバッキングストアへのプロセス。メモリマネージャはプロセスを頻繁にスワップするため、メインメモリには常に実行可能なプロセスがあります。


のため アドレスバインディング メソッド、メインメモリからスワップアウトされたプロセスは、アセンブリまたはロード時にバインディングが行われた場合、メインメモリにスワップスワップされると、同じアドレス空間を占有します。実行時にバインディングが行われた場合、アドレスは実行時に計算されるため、プロセスはメインメモリ内の使用可能なアドレススペースを占有できます。

パフォーマンスはスワッピングの影響を受けますが、実行には役立ちます 並列の複数のプロセス.

  1. ページングとスワッピングの基本的な違いは、ページングが回避されることです 外部フラグメンテーション プロセスの物理アドレス空間を不連続にすることにより、スワッピングにより マルチプログラミング.
  2. ページングは​​、プロセスのページをメインメモリとセカンダリメモリ間で転送するため、ページングは​​柔軟です。ただし、スワッピングでは、メインメモリとセカンダリメモリの間でプロセス全体が前後にスワップされるため、スワッピングの柔軟性は低くなります。
  3. ページングにより、スワッピングよりも多くのプロセスをメインメモリに配置できます。

結論:

メインメモリの非連続アドレス空間を利用するため、ページングは​​外部の断片化を回避します。 CPUスケジューリングアルゴリズムにスワップを追加すると、プロセスを頻繁にメインメモリに出し入れする必要があります。