Linux カーネルでは、 を指定すると、プロセスの のリストにアクセスできtask_struct
ます。これらの が与えられた場合、実際にこの vma に対応するを取得するにはどうすればよいですか?mm
vm_area_struct
vm_area_struct
struct page
mm/memory.c などで関数を探してみましたが、途方にくれました。
編集: アイデアは、vma 内のどのページが現在メモリ内にあり、どのページがそうでないかを見つけることです。しかし、これは宿題の小さな部分であり、自分で解決する必要があるため、誰かにこの方法を教えてもらいたくありません。しかし、この vma に対応するページを見つける方法がわかりません。ページを見つけることができれば、有効な pfn があるかどうかを確認できると思います。