Linux Kernel(2.6)の実装に関するメモ書き

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の管理



最終更新 2007/03/20 19:53:34 - kztomita
(2007/03/20 19:41:18 作成)
添付ファイル
swapcache.png - kztomita


リンク
最近更新したページ
検索