¿Cómo un controlador de modo Kernel de Windows, accede a la memoria paginada?

1) Un proceso de modo de usuario tiene su propio "contexto de dirección", que asigna las direcciones virtuales en modo de usuario a una colección única de marcos de página físicos. Es decir,el significado de cualquier dirección virtual en particular cambia de un momento a otro a medida que el programador de Windows XP cambia los hilos.

Parte del trabajo de "cambiar hilos" es cambiar las tablas de páginas para que se refieran al contexto de proceso del hilo entrante.

_

2) Un controlador en modo kernel de Windows se ejecuta en "contexto de subproceso arbitrario".

Un controlador puede crear un subproceso del sistema y trabajar en su contexto ... pero estoy hablando de la situación en la que uno no crea un subproceso del sistema.

El controlador puede usar "ExAllocatePoolWithTag" para asignar paginado (memoria en almacenamiento volátil).

_

3) Entonces, ¿cómo accede el controlador a la memoria paginada?sin ningún contexto?

Como se ve en el punto 1, se accede a la memoria paginada a través de tablas de páginas que son "específicas del contexto".

cuando el controlador se ejecuta en algún otro contexto de subprocesos ... es decir. las entradas de la tabla de páginas apuntan a los hilos phy relevantes. mem, ¿cómo puede el conductor tener acceso a su memoria paginada?

PD: me noob en la programación del kernel. No te enojes

Respuestas a la pregunta(2)

Su respuesta a la pregunta