「PROT_NONEビット設定」ページが交換対象ですか?

「PROT_NONEビット設定」ページが交換対象ですか?

次のリンクから:ページテーブルの管理 - kernel.org、私はこれらのビットを理解し、PROT_NONEページPRESENTが保護されているがメモリに常駐していることをOSに通知するために使用できます。私はこの2ビットを使用して、プロセスがアクセスしているページを追跡します。これが私がすることです。

  1. プロセスが追跡しているページにアクセスしようとしたときにページ障害が発生するようにビットをクリアし、追跡するプロセスのページビットをPRESENT設定します。PROT_NONE
  2. ページエラーが発生した場合は、handler_pte_fault(x86)を呼び出す前に__handle_mm_fault内でページを追跡するかどうかを消去してPROT_NONE設定します。PRESENT正常に実行されます。

しかし、同時にオペレーティングシステムでページを交換すると問題が発生します。だから私は知りたいです:

  1. PROT_NONEビットが設定されているページを交換できますか?
  2. PROT_NONEこのように保護されたページが置き換えられると、このビットはどうなりますか?ページが置き換えられたかどうかを区別する方法は?PRESENTビットがクリアされたためです。

理解した内容が間違っている場合はご指摘ください。

ベストアンサー1

おすすめ記事