SwapCache
Rev.2を表示中。最新版はこちら。
1. SwapCache
ページイン/ページアウトされたページは、SwapCacheに入れられ一時的にキャッシュされた状態になる(ディスク上にも主記憶上にも存在する状態)。
ページイン/ページアウトはSwapCacheを経由する。ページアウトする時は、該当ページをSwapCacheに登録した後、ページアウト処理が行われる。ページインする際もページイン用のページをSwapCacheに登録した後、ディスクから該当ページのデータが読み込まれる。
ページインした後、再度ページアウトする必要ができた場合、SwapCacheに残っていればディスクI/Oを削減できる。
2. SwapCacheの管理
SwapCacheは図1のように管理される。SwapCacheはPageCacheと同じくaddress_spaceによって管理される(address_spaceの詳細は「PageCache」参照)。使用されるaddress_spaceはswapper_space。swapper_spaceに全スワップ領域に関するSwapCacheのページが登録される。swapper_spaceのTreeにページを登録する際のインデクスは図1に示すようにスワップ領域の種類とスワップ領域内のページオフセットを組み合わせた値を使用する。
図1 SwapCacheの管理