回答:
ダーティページは、必ずしもライトバックを必要としません。ダーティページは、カーネルが最後にクリーンとしてマークしてから書き込まれたページです。データを常に元のファイルに保存する必要はありません。
ページは非公開であり、共有されていないため、元のファイルに保存されません。ダーティページを読み取り専用ファイルでバックアップすることは不可能です。ページをRAMから削除する必要がある場合、ページはスワップに保存されます。
読み取り専用、プライベート、ダーティであるが、メモリマップファイルの範囲内にあるページは、通常、実行時に初期化する必要がある定数を含むが、初期化後に変更されないデータページです。たとえば、ポインタを埋め込む静的データが含まれる場合があります。ポインタ値はプログラムまたはライブラリがマップされているアドレスに依存するため、プログラムの開始後に計算する必要があり、この段階ではページが読み書き可能です。ポインタが計算された後、プログラムのこのインスタンスではページのコンテンツは変更されないため、ページを読み取り専用に変更できます。コードフラグメントの例については、stosbによる「ダーティメモリページのハンティング」を参照してください。
ごくまれに、読み取り専用、実行可能、プライベート、ダーティページが表示されることがあります。これらは、コードとデータをより自由に混合する一部のリンカー、またはジャストインタイムのコンパイルで発生します。
Gillesがリストするケースに加えて:
プロセスがフォークすると、カーネルはダーティページをすべて読み取り専用としてマークし、親子で共有されます。プロセスの1つがページに書き込むと、例外が発生し、カーネルがページをコピーして書き込み可能としてマークします。これにより、いずれのプロセスによっても最終的に再度変更されないページをコピーする作業が節約されます。(この状況では、ページはハードウェアで読み取り専用としてマークされていますが、カーネルによって書き込み可能であると認識されています。)