スワッピングは、任意のプロセスをメイン メモリから二次メモリに一時的にスワップして、メイン メモリを他のプロセスで使用できるようにするメモリ管理スキームです。メインメモリの使用率を向上させるために使用されます。二次メモリ上で、スワップアウトされたプロセスが格納される場所をスワップ領域と呼びます。
オペレーティング システムのスワップの目的は、ハードディスク内に存在するデータにアクセスし、それを RAM に取り込み、アプリケーション プログラムが使用できるようにすることです。覚えておいていただきたいのは、スワップは RAM にデータが存在しない場合にのみ使用されるということです。
スワップのプロセスはシステムのパフォーマンスに影響しますが、より大規模な複数のプロセスを実行するのに役立ちます。これが、スワッピングがメモリ圧縮とも呼ばれる理由です。
Androidでアプリケーションを再表示する方法
スワップの概念は、さらに 2 つの概念、スワップインとスワップアウトに分かれています。
- スワップアウトは、プロセスを RAM から削除し、ハードディスクに追加する方法です。
- スワップインは、プログラムをハードディスクから削除し、メイン メモリまたは RAM に戻す方法です。
例: ユーザー プロセスのサイズが 2048KB で、スワップのデータ転送速度が 1Mbps である標準的なハードディスクであると仮定します。ここで、主記憶から二次記憶への転送にかかる時間を計算してみます。
npmキャッシュをクリーンアップする
User process size is 2048Kb Data transfer rate is 1Mbps = 1024 kbps Time = process size / transfer rate = 2048 / 1024 = 2 seconds = 2000 milliseconds Now taking swap-in and swap-out time, the process will take 4000 milliseconds.
スワッピングのメリット
- これは、CPU が単一のメイン メモリ内で複数のプロセスを管理するのに役立ちます。
- 仮想メモリの作成と使用に役立ちます。
- スワッピングにより、CPU は複数のタスクを同時に実行できるようになります。したがって、プロセスは実行されるまであまり長く待つ必要がありません。
- メインメモリの使用率が向上します。
スワッピングのデメリット
- コンピュータ システムの電源が失われると、大幅な交換作業が行われた場合、ユーザーはプログラムに関連するすべての情報を失う可能性があります。
- スワッピング アルゴリズムが適切でない場合、複合方式ではページ フォールトの数が増加し、全体の処理パフォーマンスが低下する可能性があります。
注記:
- シングル タスク オペレーティング システムでは、1 つのプロセスだけがメモリのユーザー プログラム領域を占有し、プロセスが完了するまでメモリ内に留まります。
- マルチタスク オペレーティング システムでは、すべてのアクティブなプロセスがメイン メモリ内で調整できない状況が発生し、その場合、プロセスがメイン メモリからスワップアウトされ、他のプロセスがメイン メモリに入ることができます。