Publicado el 6 de Enero del 2019
425 visualizaciones desde el 6 de Enero del 2019
2,5 MB
41 paginas
Creado hace 13a (27/10/2011)
Introducción a la memoria virtual (MV)
Conceptos relacionados con la MV
Algoritmos de gestión de la MV
Casos de estudio
Memoria virtual
E. Campo M. Knoblauch Ó. López
J. Clemente
Departamento de Automática
Universidad de Alcalá
Sistemas Operativos Avanzados
Memoria virtual
1 / 41
Introducción a la memoria virtual (MV)
Conceptos relacionados con la MV
Algoritmos de gestión de la MV
Casos de estudio
Índice
1
Introducción a la memoria virtual (MV)
¿Qué es la MV?
Ventajas de la MV
2 Conceptos relacionados con la MV
Requisitos hardware de la MV
Carga dinámica
Paginadores
Hiperpaginación
3 Algoritmos de gestión de la MV
Algoritmos de gestión de memoria
Políticas de asignación
Políticas de ubicación
Políticas de búsqueda o de lectura
Políticas de reemplazo
4 Casos de estudio
Mach 3.0
Windows
Linux
Sistemas Operativos Avanzados
Memoria virtual
2 / 41
Introducción a la memoria virtual (MV)
Conceptos relacionados con la MV
Algoritmos de gestión de la MV
Casos de estudio
¿Qué es la MV?
Ventajas de la MV
¿Qué es la MV?
Es un esquema de gestión de memoria en el que los procesos:
Se ejecutan sin estar completamente cargados en memoria
principal (MP)
Pueden tener mayor tamaño que la MP disponible
Permite un desacoplamiento entre el espacio de direcciones
físicas y el espacio de direcciones virtual
Utiliza el almacenamiento secundario como extensión de la
MP
Basada en el principio de localidad de las referencias ⇒ Sólo
se mantiene en MP la información necesaria en cada momento
El control lo realiza el sistema operativo (SO) con la ayuda
imprescindible del hardware
Sistemas Operativos Avanzados
Memoria virtual
3 / 41
Introducción a la memoria virtual (MV)
Conceptos relacionados con la MV
Algoritmos de gestión de la MV
Casos de estudio
¿Qué es la MV?
Ventajas de la MV
Ventajas de la MV
1 Transparencia en las transferencias, dispositivo de
almacenamiento ⇔ MP
2 El tamaño de los procesos depende del espacio de
direccionamiento virtual y del disco duro
de un programa
3 Se mejora el rendimiento del sistema ⇒ se incrementa el
grado de multiprogramación
4 Reduce la E/S ⇒ sólo se cargan en MP las partes necesarias
Sistemas Operativos Avanzados
Memoria virtual
4 / 41
Introducción a la memoria virtual (MV)
Conceptos relacionados con la MV
Algoritmos de gestión de la MV
Casos de estudio
Requisitos hardware de la MV
Carga dinámica
Paginadores
Hiperpaginación
Requisitos hardware de la MV
Se utilizan mecanismos de paginación y segmentación
Ventaja de la paginación:
Transferencias más simples con bloques de tamaño fijo
Disco ⇔ MP
Hardware de paginación:
Unidad de gestión de la tabla del mapa de páginas
Bits en los descriptores de páginas de: presencia, modificación
(dirty bit) y referencia
Almacenamiento auxiliar para las páginas del proceso
Soporte para interrumpir instrucciones
Sistemas Operativos Avanzados
Memoria virtual
5 / 41
Introducción a la memoria virtual (MV)
Conceptos relacionados con la MV
Algoritmos de gestión de la MV
Casos de estudio
Requisitos hardware de la MV
Carga dinámica
Paginadores
Hiperpaginación
Requisitos hardware de la MV
Sistemas Operativos Avanzados
Memoria virtual
6 / 41
Introducción a la memoria virtual (MV)
Conceptos relacionados con la MV
Algoritmos de gestión de la MV
Casos de estudio
Requisitos hardware de la MV
Carga dinámica
Paginadores
Hiperpaginación
Carga dinámica
Transferencia de páginas de dispositivo de almacenamiento a
MP
Si la página referenciada no está disponible en MP ⇒ Fallo de
página (FP)
La tasa de fallos de página disminuye al aumentar el número
de marcos
Los tiempos que más afectan a la carga dinámica son:
Cambios de contexto
Guardar una página modificada en disco (page out)
Cargar una página referenciada en MP (page in)
Mientras se realiza, el proceso está bloqueado
Sistemas Operativos Avanzados
Memoria virtual
7 / 41
Introducción a la memoria virtual (MV)
Conceptos relacionados con la MV
Algoritmos de gestión de la MV
Casos de estudio
Requisitos hardware de la MV
Carga dinámica
Paginadores
Hiperpaginación
Carga dinámica
Sistemas Operativos Avanzados
Memoria virtual
8 / 41
Introducción a la memoria virtual (MV)
Conceptos relacionados con la MV
Algoritmos de gestión de la MV
Casos de estudio
Requisitos hardware de la MV
Carga dinámica
Paginadores
Hiperpaginación
Paginadores
Parte del SO que mueve páginas entre disco y MP
Rutinas para hacer la transferencia cuando se produce un FP
Se crean y destruyen con el objeto proyectado en MV
Tipos de paginadores
De archivos
P.ej.: mmap, exec
De objetos anónimos o swap pager
Aquellos que no tienen una imagen en el sistema de archivos
Gestión del área de swap
(área de memoria persistente para los objetos anónimos)
De dispositivos
P.ej.: gestión del frame buffer
Se proyecta la zona de memoria utilizada por el dispositivo (no
en el disco)
Sistemas Operativos Avanzados
Memoria virtual
9 / 41
Introducción a la memoria virtual (MV)
Conceptos relacionados con la MV
Algoritmos de gestión de la MV
Casos de estudio
Requisitos hardware de la MV
Carga dinámica
Paginadores
Hiperpaginación
Hiperpaginación, vapuleo o thrashing
Caída de rendimiento al aumentar el grado de
multiprogramación
Cuando los procesos intercambian páginas disco ⇔ MP
Soluciones:
Reducir grado de multiprogramación
Utilizar un algoritmo de reemplazo local
Suministrar a cada proceso el número de marcos que necesite
Modelo del conjunto de trabajo
Frecuencia de fallos de página
Sistemas Operativos Avanzados
Memoria virtual
10 / 41
Introducción a la memoria virtual (MV)
Conceptos relacionados con la MV
Algoritmos de gestión de la MV
Casos de estudio
Requisitos hardware de la MV
Carga dinámica
Paginadores
Hiperpaginación
Soluciones a la hiperpaginación
Modelo del conjunto de trabajo
Conjunto de páginas referenciadas por el proceso durante un
intervalo de tiempo
Basado en principio de localidad de referencias
Mantiene alto el grado de multiprogramación
Sistemas Operativos Avanzados
Memoria virtual
11 / 41
Introducción a la memoria virtual (MV)
Conceptos relacionados con la MV
Algoritmos de gestión de la MV
Casos de estudio
Requisitos hardware de la MV
Carga dinámica
Paginadores
Hiperpaginación
Soluciones a la hiperpaginación
Frecuencia de fallos de página
Se establece un umbral superior y otro inferior, para quitar o
asignar marcos de página a un proceso
Sistemas Operativos Avanzados
Memoria virtual
12 / 41
Introducción a la memoria virtual (MV)
Conceptos relacionados con la MV
Algoritmos de gestión de la MV
Casos de estudio
Algoritmos de gestión de memoria
Políticas de asignación
Políticas de ubicación
Políticas de búsqueda o de lectura
Políticas de reemplazo
Algoritmos de gestión de memoria (i)
Objetivo ⇒ Minimizar el porcentaje de FPs, con mínima
sobrecarga y máximo aprovechamiento de la MP
Políticas de asignación
¿Qué cantidad de MP se asigna a un determinado proceso?
Asignación fija y asignación variable
Alcance del reemplazo: global y local
Gestión del espacio libre
Políticas de ubicación
¿Dónde se ubica un bloque en MP?
Políticas de búsqueda o lectura
¿Cuándo y qué páginas se cargan en MP?
Paginación por demanda
Paginación anticipada o prepaginación
Sistemas Operativos Avanzados
Memoria virtual
13 / 41
Introducción a la memoria virtual (MV)
Conceptos relacionados con la MV
Algoritmos de gestión de la MV
Casos de estudio
Algoritmos de gestión de memoria
Políticas de asignación
Políticas de ubicación
Políticas de búsqueda o de lectura
Políticas de reemplazo
Algoritmos de gestión de memoria (ii)
Políticas de reemplazo
¿Qué páginas deben sustituirse en MP?
Algoritmo óptimo
Algoritmo primera página en llegar/primera en salir First
In-First Out (FIFO)
Algoritmo página menos usada recientemente - Least Recently
Used (LRU)
Algoritmos de aproximación al LRU: reloj global, FIFO segunda
oportunidad, página no usada frecuentemente - Not Frequently
Used(NFU)
Sistemas Operativos Avanzados
Memoria virtual
14 / 41
Introducción a la memoria virtual (MV)
Conceptos relacionados con la MV
Algoritmos de gestión de la MV
Casos de estudio
Políticas de asignación (i)
Algoritmos de gestión de memoria
Políticas de asignación
Políticas de ubicación
Políticas de búsqueda o de lectura
Políticas de reemplazo
Determinan qué cantidad de MP se asigna a un proceso según
sus necesidades
Asignación fija
El número de marcos se decide en la carga inicial y está
determinado por el tipo de proceso
Asignación variable
El número de marcos cambia a lo largo de la vida de un
proceso
Modelo del conjunto de trabajo
Frecuencia de FPs
Sistemas Operativos Avanzados
Memoria virtual
15 / 41
Introducción a la memoria virtual (MV)
Conceptos relacionados con la MV
Algoritmos de gestión de la MV
Casos de estudio
Políticas de asignación (ii)
Algoritmos de gestión de memoria
Políticas de asignación
Políticas de ubicación
Políticas de búsqueda o de lectura
Políticas de reemplazo
Alcance del reemplazo
Global: Considera todos los marcos de MP como candidatos,
independientemente del proceso al que pertenezcan
Ventaja: Mejor aprovechamiento de la MP
Inconveniente: Hiperpaginación
Ejemplo: Unix
Local: Considera los marcos del proceso que originó el FP
Ventaja: El número de FPs es más determinista
Inconveniente: Mayor sobrecarga ⇒ Cálculo de los marcos a
asignar en cada instante
Ejemplos: VMS y Windows
Sistemas Operativos Avanzados
Memoria virtual
16 / 41
Introducción a la memoria virtual (MV)
Conceptos relacionados con la MV
Algoritmos de gestión de la MV
Casos de estudio
Políticas de asignación (iii)
Algoritmos de gestión de memoria
Políticas de asignación
Políticas de ubicación
Políticas de búsqueda o de lectura
Políticas de reemplazo
Gestión del espacio libre
El SO mantiene el estado de los marcos libres o asignados
Mapa de bits
Listas enlazadas (Windows)
Sistema de colegas o buddy (Linux, Unix)
Sistemas Operativos Avanzados
Memoria virtual
17 / 41
Introducción a la memoria virtual
Comentarios de: Memoria virtual (0)
No hay comentarios