Paginación de Memoria Virtual: Funcionamiento y Estrategias Clave
Clasificado en Informática
Escrito el en español con un tamaño de 4,1 KB
Paginación de Memoria: Conceptos Fundamentales y Gestión
La paginación es una técnica de gestión de memoria que consiste en dividir la memoria física en secciones de tamaño fijo, denominadas marcos de página (o page frames), y la memoria lógica (o virtual) en secciones del mismo tamaño, llamadas páginas.
Los sistemas de paginación resuelven problemas de asignación de memoria utilizando bloques de igual tamaño en la memoria física, conocidos como marcos de página (o page frames).
Un fallo de página (o page fault) se produce cuando un proceso intenta acceder a una página que no se encuentra cargada en ningún marco de página de la memoria física.
El reemplazo de página (o page out) es necesario cuando el espacio de dirección virtual total de todos los procesos excede el tamaño de la memoria física disponible.
Requerimientos Funcionales de la Paginación
- Administración del espacio de direcciones.
- Traducción de direcciones.
- Administración de memoria física.
- Protección de memoria.
- Memoria compartida.
- Monitoreo de la carga del sistema.
- Mapeo de archivos en memoria, ejecución de programas en nodos remotos, enlace dinámico a librerías compartidas, área de swap.
- Reemplazo de páginas eficiente.
El espacio de direcciones virtuales de un proceso puede estar subdividido en diferentes segmentos (paginados):
- Texto (código).
- Datos inicializados.
- Datos no inicializados.
- Datos modificados.
- Stack (pila).
- Heap (montón).
- Memoria compartida.
- Librerías compartidas.
Políticas de Reemplazo de Páginas
Estas políticas determinan cómo el kernel decide qué página expulsar de la memoria física. Existen dos técnicas principales de reemplazo:
Política Local
La página seleccionada para ser reemplazada pertenece al mismo proceso que causó el fallo de página.
Política Global
La página seleccionada para ser reemplazada puede pertenecer a cualquier proceso en el sistema.
El Conjunto de Trabajo (o Working Set) es el conjunto de páginas que idealmente se desea mantener en memoria, ya que son aquellas páginas que se prevé que serán necesarias en un futuro cercano.
La Localidad de Referencia indica que un proceso tiende a concentrar sus referencias en un subconjunto pequeño de páginas, y este subconjunto cambia lentamente con el tiempo.
La MMU (Memory Management Unit o Unidad de Gestión de Memoria) se sitúa funcionalmente entre la CPU y la memoria principal, aunque está integrada en el microprocesador. Su tarea principal es traducir las direcciones virtuales generadas por la CPU a direcciones físicas (reales) en la memoria.
Paginación Multinivel
Objetivos
El objetivo principal de la paginación multinivel es evitar mantener tablas de páginas completas y de gran tamaño en la memoria principal de forma constante.
Solución
La solución consiste en dividir la tabla de páginas en subtablas, manteniendo en memoria solo aquellas que sean necesarias en cada momento.
Rendimiento de la Paginación
El Tiempo de Acceso Efectivo a Memoria (TAE) para un sistema de paginación de memoria mononivel se calcula mediante la siguiente fórmula:
TAE = TB + (1 - p) * TAM + p * Tfallo + TAM
Donde:
- TB: Tiempo medio de búsqueda en la tabla de páginas.
- p: Probabilidad de que ocurra un fallo de página.
- TAM: Tiempo de acceso a memoria.
- Tfallo: Tiempo de resolución de un fallo de página.
La Regla del 90/10 establece que un proceso, durante el 90% de su tiempo de ejecución, accede únicamente al 10% de su espacio de memoria.