Estoy preguntando sobre las estructuras de datos utilizadas en lo siguiente:
Me pregunto cómo Linux rastrea todas las páginas físicas. No me preocupa cómo mantiene el vm_area_struct
. ¿Cuál es la estructura de datos utilizada para almacenarlos todos?
¿Y cómo busca una página física en particular cuando se le da una dirección virtual?
¿Árbol radix? árbol rojo-negro? ¿tabla de picadillo? ¿Qué?
Gracias.
- feeling_lonely
SourceEl núcleo mantiene una matriz de struct page
estructuras, una para cada página física.
Se busca una dirección virtual recorriendo la estructura de la tabla de páginas, que es un árbol (definido por el hardware).