En sistemas operativos de computadora, ¿qué es una tabla de páginas?
La mayoría de las computadoras tienen dos formas de memoria, memoria virtual y memoria física. La memoria virtual, como su nombre lo indica, es simplemente una construcción que permite que un programa funcione como si toda la información necesaria para ejecutarlo se almacenara en el mismo lugar. Cada pieza de información almacenada en la memoria virtual corresponde a una dirección de memoria física. Una tabla de páginas es la estructura de datos que utiliza el sistema operativo de la computadora para realizar un seguimiento de las conexiones entre la memoria virtual y la memoria física. El proceso de correlacionar la memoria virtual con la memoria física se denomina mapeo.
El concepto de cómo la tabla de páginas organiza los dos tipos de memoria se entiende mejor con un ejemplo familiar. Cuando un usuario de computadora crea una lista de reproducción en un programa de reproductor de medios, puede tomar canciones de varios archivos diferentes en la computadora. Los archivos físicos no se mueven, pero el programa sabe a dónde ir para acceder a cada canción.
La lista de reproducción es como la memoria virtual. Es un bloque contiguo de información de fácil acceso para el programa. Los archivos individuales con las canciones individuales en ellos son como la memoria física. Se almacenan en muchos lugares diferentes en toda la computadora. La memoria física se almacena en una tabla de páginas.
Una pieza de hardware en la computadora recibe solicitudes de la memoria virtual y luego accede a la tabla de páginas para encontrar la ubicación de la memoria física de los datos. Este hardware se denomina unidad de administración de memoria (MMU) o unidad de traducción de dirección dinámica (DAT). Para que el acceso a los datos sea lo más rápido posible, la MMU almacena un número finito de mapas de uso frecuente en una tabla llamada el búfer de traducción al lado. Al funcionar como la pestaña de favoritos en un navegador web, el búfer de traducción al lado permite que la computadora salte rápidamente a una ubicación de memoria de uso frecuente.
Si la dirección en cuestión no es la que la computadora solicita con frecuencia, la MMU accederá directamente a la tabla de páginas. Escanea la tabla hasta encontrar la dirección en cuestión. Luego, devuelve la dirección al búfer de traducción desde donde el programa puede acceder a la información.
A veces, la computadora no puede encontrar la dirección en la tabla de páginas. Esto puede suceder si no existe un mapa entre la memoria virtual y la memoria física. En este caso, el sistema operativo enviará un mensaje al programa diciéndole que se cierre. La búsqueda también puede fallar si el archivo físico se ha movido, por ejemplo, si se ha colocado en un disco de respaldo y se ha eliminado del sistema.