1. 概要 物理アドレスから仮想アドレス空間のアドレスを逆引きするための仕組み。 スワップ処理でページをページアウトする時には、その物理ページにマップしているユーザー空間をアンマップする必要がある。この時、Rmapを使うことで物理ページへマップしているユーザ空間を高速に取りだせる。 2. データ構造 Rmapのデータ構造を図1に示す。 物理ページの管理構造体であるstruct pageからanon_vma経由で物理ページにマッピングされている仮想アドレス空間(vma)を全て取得することができる。 struct pageのmappingは通常struct address_space(*1)へのポインタだが、PAGE_MAPPING_ANON(1)がセットされていたら、struct anon_vmaへのポインタであることを示す。 struct anon_vmaからこの物理ページに対応するstr