Como um driver do modo Kernel do Windows acessa a memória paginada?

1) Um processo do modo de usuário possui seu próprio "contexto de endereço", que mapeia os endereços virtuais no modo de usuário para uma coleção exclusiva de quadros de páginas físicos. Isso é,o significado de qualquer endereço virtual específico muda de um momento para o outro, conforme o agendador do Windows XP alterna os threads.

Parte do trabalho de "alternar threads" é alterar as tabelas de páginas para que elas se refiram ao contexto do processo do thread recebido.

_

2) Um driver no modo kernel do Windows é executado em "contexto de thread arbitrário".

Um driver pode criar um thread do sistema e funcionar em seu contexto ... mas estou falando da situação em que não se cria um thread do sistema.

O driver pode usar "ExAllocatePoolWithTag" para alocar paginada (memória no armazenamento volátil).

_

3) Então, como o driver acessa a memória paginadasem nenhum contexto?

Como visto no ponto 1, o mem paginado é acessado através de tabelas de páginas que são "Contexto específico".

quando o driver é executado em outro contexto de threads ... As entradas da tabela de páginas apontam para os tópicos phy relevantes. mem, como então o motorista pode ter acesso à sua memória paginada?

PS: me noob na programação do kernel. Não fique bravo.

questionAnswers(2)

yourAnswerToTheQuestion