A partir do seguinte link: Gerenciamento da Tabela de Páginas - kernel .org , entendi que os bits PROT_NONE
e PRESENT
podem ser usados para informar ao SO que uma página está protegida, mas está residente na memória. Eu estou usando esses 2 bits para rastrear as páginas que são acessadas por um processo. Aqui está o que estou fazendo,
PRESENT
e defino o PROT_NONE
de páginas de um processo que quero acompanhar para que ocorra uma falha de página quando esse processo tentar acessar as páginas rastreadas. PROT_NONE
e defino PRESENT
se a página for rastreada por mim. Desta forma, a execução prossegue normalmente. Mas haverá um problema se a página for trocada enquanto isso pelo SO. Então, eu gostaria de saber:
PROT_NONE
bit set puder ser trocada? PROT_NONE
, quando essa página protegida é trocada? Eu quero dizer como distinguir se a página é trocada ou não? Porque PRESENT
bit já está limpo. Por favor, indique se algum dos meus conhecimentos está errado.
Tags linux-kernel