Tareas De Samy
Principios de la memoria virtual. Hardware y estructuras de control
Memoria Virtual
Memoria virtual basada en paginación. Segmentación y segmentación + paginación. Aspectos de diseño e implementación. Política de lectura. Política de ubicación. Política de reemplazo. Gestión del conjunto residente. Política de vaciado. Control de Carga
2
Softwaredel sistema operativo.
Secciones Stallings: 8.1 - 8.2
1
A.Ortigosa
Memoria Virtual
Memoria Virtual: Método para conseguir que la suma de los espacios de pila, datos y texto de un programa pueda ser mayor que el tamaño físico de la memoria disponible para él. (Fotheringham, 1961) El SO mantiene en memoria solo las partes del programa que se están utilizando(conjunto residente) y mantiene en disco el resto.
Memoria Virtual
Ventajas: Permite optimizar uso de memoria:
mantiene más procesos en memoria principal mantiene en disco partes del proceso poco usadas (rutinas de atención a errores poco frecuentes, funciones de uso esporádico, datos no usados, …)
Permite que un proceso sea más grande que toda la memoria principal Permite multiprogramación muy efectiva Se encarga el SO => evita al usuario la preocupación por programar con superposición
A.Ortigosa
3
A.Ortigosa
4
Memoria Virtual
Fallos de direccionamiento:
Paginación
La memoria física se divide en bloques de tamaño fijo que llamamos marcos. La memoria virtual se divide en bloques del mismo tamaño llamados páginas. Los programas se dividen en páginas Al ejecutar un proceso se cargan sus págs. en los marcos disponibles (SO mantiene lista de marcos) La vinculación de direcciones:
Se genera interrupción, indica fallo de acceso a memoria Proceso pasa a bloqueado, SO a ejecución SO emite solicitud de E/S al disco SO expide otro proceso para que se ejecute Tras traer fragmento a memoria,interrupción de E/S, control al SO, que pasa el proceso a listo. SO más tiempo intercambiando fragmentos que ejecutando (ej: si saca de memoria un fragmento que se iba a usar ya).
Posible hiperpaginación (thrasing):
Solución: el SO “adivina” qué fragmentos se usarán próximamente.
A.Ortigosa
5
Usa tabla de páginas (normalmte. 1/proceso) Requiere soporte por hardware (Manejador deMemoria)
A.Ortigosa
6
1
Paginación
Dirección lógica (virtual) CPU p d p Página (virtual) desplazamiento nº marco (m) Tabla de páginas Página (física) -marcoPtero a tabla de páginas Dirección física m d Memoria
Tablas de páginas
- Son tablas que contienen (para cada proceso) el nº marco que corresponde a cada página virtual del proceso - Estructura de una entrada de la Tabla dePáginas:
Número de marco bit presente (1) ausente (0) protección (permisos) del marco (RWX) bit Modificado (1) o no (0): lo usa el intercambiador para saber si debe copiar el marco a disco o no Caching Desactivado/Activado (lo veremos en E/S) 0 No usado
A.Ortigosa
7
A.Ortigosa
8
Tablas de páginas
- -
Paginación
No hay fragmentación externa Fragmentación interna en los marcos Intento de acceso a página virtual sin marco asociado => interrupción que llega al SO (trap): fallo de página Como respuesta al fallo de página, el SO:
Tamaño de página viene definido por el Hw. y suele ser una potencia de 2 que varía entre 512 y 16M Ej simplificado: Direccionamiento de un espacio virtual de 64K, distribuido en 16 páginas de 4K: 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 00 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 010 001 110 000 100 011 000 000 000 101 000 111 000 000 000 000 1 1 1 1 1 1 0 0 0 1 0 1 0 0 0 0
bit presente/ausente Desplazamiento (12 bits)
página Virtual (4 bits) marco
Selecciona una página poco usada del proceso Intercambia la página a disco Asigna el marco de la página liberada a la página virtual que se intenta acceder Supone reasignación...
Regístrate para leer el documento completo.