Paginación de Memoria Virtual: Funcionamiento y Estrategias Clave
Enviado por Comunidad Wikiteka y clasificado en Informática
Escrito el en
español con un tamaño de 4,1 KB
Actualizado el
Resumen
Este documento explica la paginación, una técnica de gestión de memoria que divide la memoria física en marcos de página y la memoria virtual en páginas del mismo tamaño. Define el fallo de página, el reemplazo de páginas y sus políticas local y global. También trata el conjunto de trabajo, la localidad de referencia, el papel de la MMU y la paginación multinivel. Por último, recoge la fórmula del tiempo de acceso efectivo a memoria y la regla del 90/10.
Puntos clave
- La paginación divide la memoria física en marcos de página y la memoria lógica o virtual en páginas del mismo tamaño.
- Un fallo de página se produce cuando un proceso accede a una página que no está cargada en ningún marco de la memoria física.
- El reemplazo de página es necesario cuando el espacio de direcciones virtuales de todos los procesos supera la memoria física disponible.
- En la política local, la página reemplazada pertenece al mismo proceso que causó el fallo. En la política global, puede pertenecer a cualquier proceso.
- El conjunto de trabajo son las páginas que se desea mantener en memoria por ser necesarias en un futuro cercano.
- La MMU traduce las direcciones virtuales generadas por la CPU a direcciones físicas.
- La paginación multinivel divide la tabla de páginas en subtablas y mantiene en memoria solo las que son necesarias en cada momento.
Resumen generado con IA a partir del documento. Ponte a prueba
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.
Preguntas frecuentes
¿Qué es un fallo de página?
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.
¿Qué diferencia hay entre la política local y la global de reemplazo?
En la política local, la página reemplazada pertenece al mismo proceso que causó el fallo. En la política global, puede pertenecer a cualquier proceso del sistema.
¿Qué es el conjunto de trabajo?
Es el conjunto de páginas que idealmente se desea mantener en memoria, porque se prevé que serán necesarias en un futuro cercano.
Ponte a prueba
Tarjetas de repaso
Pulsa una tarjeta para ver la respuesta.
Test
Preguntas generadas con IA a partir del documento: comprueba las respuestas con el texto.