web-dev-qa-db-ja.com

スワップファイルのないページフォルト?

私は見つけました 明らかな質問 そしてまた ServerFaultでの兄弟の兄弟

しかし、私の質問は静かに異なります。

それとも私は誤解しましたか?

3
Bobby

少し古いですがチェックアウト これは MSDN記事です。

2種類のページフォルトを説明します。

ハードフォルトがあなたが考えているものです - これらはデータがRAMにない場所で、スワップファイルから引き抜かなければならない場所です。 。彼らはパフォーマンスを隠す(メカニカルハードドライブのためのRAMより遅い10 000の時間の10 000の場合)。

ソフト障害は、ページが初めてページに書き込まれるときに、プログラムがゼロになるようにプログラムが要求するページ(ゼロページ)によってトリガされます。 (書き込みページのコピーであれば)またはページがすでにメモリ内にある場合(通常は複数のプロセス間で共有されている場合)。パフォーマンスにはそれほど悪くない。

そのため、ページファイルがなくてもsoftページ障害を保持することを期待できます。

5
DMA57361

欠落しているポイントは、ページ障害が必ずしもスワップファイルを関与しないということです。任意のファイルをメモリマッピングすることもできます。つまり、所定のファイルの(一部)でメモリ領域をバックアップするようにOSに指示する。つまり、プログラムがまだロードされていない領域でメモリページにアクセスすると、ファイル内の対応する位置から読み取られます。また、メモリページが書き込まれたとき(領域が書き込み可能なと仮定すると)、データは最終的に元のファイルに書き戻され、スワップされません。

最近のオペレーティングシステムでは、この手法は実行可能コードを(実行可能ファイルとライブラリの)をロードするために使用されます。そのため、スワップファイルがなくても読み取り障害が発生すると予想されます。

7
LaC