"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비트가 지워졌 기 때문입니다 .

제가 이해한 내용이 틀렸다면 지적해주세요.

관련 정보