Zusammenfassung der Ressource
Remap the kernel
- Preparación
- Hay muchas cosas que pueden salir mal cuando cambiamos
a una nueva tabla. Por lo tanto, es una buena idea configurar
un depurador . No debería necesitarlo cuando siga esta
publicación, pero es bueno saber cómo depurar un problema
cuando ocurre.
- Resumen: el modulo de paginacion
- Esta publicación se basa en la publicación sobre tablas de páginas , así que comencemos recapitulando
rápidamente lo que hemos hecho allí. Creamos un memory::paging módulo que lee y modifica la tabla
de páginas jerárquicas a través del mapeo recursivo. El propietario de la tabla P4 activa y, por lo tanto,
todas las subtablas es una ActivePageTableestructura, que se debe instanciar solo una vez.
- Tablas inactivas
- Comencemos creando un tipo para tablas de páginas
inactivas. Como un ActivePageTable, un
InactivePageTableposee una tabla P4. La diferencia es que la
CPU no utiliza la tabla P4 inactiva.
- Mapeo temporal
- agregamos una TemporaryPageestructura. Lo
creamos en un nuevo temporary_pagesubmódulo
para mantener limpio el módulo de paginación. Se
parece a esto:
- Agregamos métodos para
mapear temporalmente y
desasignar la página: