スワップキャッシュ

スワップキャッシュはページキャッシュに寄生して実現している。あるページのスワップアウト(ページアウト)した後も、即そのページを解放せずにしばらくスワップキャッシュ上に残しておく。すぐページイン処理が発生した場合は、このスワップキャッシュ上のページをそのままページキャッシュに戻すことにより、処理を高速化できる。

また、スワップインするとき、近くのブロックもまとめてスワップキャッシュに読み込む。これはファイルの先行読みだしと同じ方針である。(近くのブロックに対しても、すぐにスワップイン処理が必要になるはずだとの仮定)

read要求によるスワップイン処理の場合、そのページをスワップキャッシュ内に保持し続ける。スワップデバイスのブロックは、そのページへの書き込みないあいだ維持しつづけられる。そのページへの書き込みが発生した場合、例外が発生しdo_wp_page関数内で破棄さる。書きこみが発生せず、再度スワップアウトされる処理が発生した場合、スワップアウト処理が効率良く動作する。

スワップキャッシュにあるデータの本体は、必ずスワップデバイス上に存在する点にも注意。


(NIS)HirokazuTakahashi
2000年12月09日 (土) 23時55分06秒 JST
1