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 estuviera almacenada en el mismo lugar. Cada 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 llama mapeo.

El concepto de cómo la tabla de páginas organiza los dos tipos de memoria se comprende mejor con un ejemplo familiar. Cuando un usuario de computadora crea una lista de reproducción en un programa de reproducción 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 por turno.

La lista de reproducción es como la memoria virtual. Es un bloque contiguo de información al que el programa puede acceder fácilmente. Los archivos individuales con las canciones individuales en ellos son como una memoria física. Se almacenan en muchos lugares diferentes de 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 gestión de memoria (MMU) o unidad de traducción dinámica de direcciones (DAT). Para que el acceso a los datos se produzca lo más rápido posible, la MMU almacena un número finito de mapas de uso frecuente en una tabla llamada búfer de búsqueda de traducción. Al operar como la pestaña de favoritos en un navegador web, el búfer de búsqueda de traducción 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 una que la computadora solicita con frecuencia, la MMU accederá directamente a la tabla de páginas. Explora la tabla hasta que encuentra la dirección en cuestión. Luego devuelve la dirección al búfer de búsqueda de traducción desde el cual 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 indicándole que se apague. La búsqueda también puede fallar si el archivo físico se movió, por ejemplo, si se colocó en un disco de respaldo y se eliminó del sistema.