Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Facultad de Sistemas
Sistemas Operativos
CLASE #5
Tamaño de la página
◦ Es un aspecto importante en el rendimiento de un sistema de paginación.
◦ El tamaño óptimo es un compromiso entre diversos factores
◦ Tamaño pequeño: menor fragmentación y se ajusta mejor al conjunto de trabajo
◦ Tamaño grande: tablas más pequeñas y mejor rendimiento del dispositivo de E/S.
Memoria Virtual (8)
(Paginación)
Gestión del SO
◦ Mantiene una TP por cada proceso
◦ En cada contexto notifica al MMU cuál debe usar a través del registro identificador
del espacio de direccionamiento (RIED).
◦ Mantiene una única TP para el propio SO
◦ Todos los procesos pueden compartir el SO.
◦ Cuando se ejecuta una llamada al sistema, invocada por un proceso, puede
acceder a su propio mapa y al del proceso.
◦ Mantiene una tabla de marcos
◦ Permite conocer cuales marcos están libres y cuales ocupados
◦ Mantiene una tabla de regiones por proceso
◦ Contiene las características de cada región especificando el rango de páginas que
pertenecen a cada región.
◦ Mucho mayor gasto en tablas que con asignación contigua
◦ Es el precio de mucha mayor funcionalidad
Memoria Virtual (9)
(Paginación)
Valoración de la paginación
◦ Espacios lógicos independientes
◦ Se logra mediante TP al corresponder las páginas del mapa memoria del proceso con los
marcos que tiene asignados.
◦ Protección
◦ Se logra mediante TP al restringir la parte de memoria que puede ser accedida por los
procesos.
◦ Compartir memoria
◦ Bajo el control del SO es posible que entradas de TP diferentes correspondan con un mismo
marco.
◦ Soporte de regiones
◦ Bits de protección
◦ Bits de validez
◦ Maximizar rendimiento y mapas grandes
◦ A pesar de la fragmentación interna permite un buen aprovechamiento de la memoria.
◦ Permite esquemas de memoria virtual
Memoria Virtual (10)
(Paginación)
Implementación de la TP
◦ Involucra dos problemas:
◦ Eficiencia
◦ Cada acceso lógico requiere de dos accesos a memoria principal (a la tabla de
páginas + al dato o instrucción)
◦ La solución está en un cache de traducciones (TLB)
◦ Memoria asociativa con información sobre las últimas páginas accedidas.
◦ Puede ser gestionada por Hardware o por Software.
◦ Gasto de almacenamiento
◦ Tablas muy grandes
◦ Ejemplo: páginas de 4K, dir. Lógica de 32 bits y 4 bytes por entrada: Tamaño
de TP 4MB/Proceso (220 * 4).
◦ Una soluciones posibles
◦ Tablas multinivel
◦ Tablas invertidas
Memoria Virtual (11)
(Paginación)
Tabla de páginas multinivel (dos niveles)
◦ Es más flexible
◦ Ocupa el espacio en memoria requerido realmente
◦ Necesita tres accesos a memoria principal para un dato o instrucción.
Memoria Virtual (12)
(Paginación)
Ejemplo de traducción con TP de dos niveles
Memoria Virtual (13)
(Paginación)
Ventajas de tablas multinivel
◦ Si un proceso usa una parte pequeña
de su espacio lógico
◦ Ahorro en espacio para almacenar TPs
◦ Ejemplo: Proceso que usa 12 MB
superiores y 4MB inferiores
◦ 2 niveles, páginas de 4K, dir. lógica de
32 bits (10 bits por nivel) y 4 bytes por
entrada: 1 TP N1 + 4 TP N2 = 5 * 4KB =
20KB (frente a 4MB)
◦ Ventajas adicionales:
◦ Permite compartir TPs intermedias
◦ Sólo requiere que este en memoria la
TP de nivel Superior.
Memoria Virtual (14)
(Segmentación)
Segmentación
◦ Esquema por hw que intenta dar soporte a las regiones
◦ Es una generalización del registro base y límite
◦ Una pareja por cada segmento
◦ Dirección lógica
◦ Número de Segmento + Dirección en el Segmento
◦ MMU usa una tabla de segmentos (TS)
◦ El SO mantiene una TS por proceso
◦ En cada contexto notifica al MMU cuál debe usar
◦ Cada registro en la TS contiene, entre otros:
◦ Registros base y límite
◦ Protección: R, W, X
◦ El segmento es la unidad de asignación y existe fragmentación externa
◦ El SO mantiene información sobre el estado de la memoria
◦ Estructuras de datos que identifiquen huecos y zonas asignadas
Memoria Virtual (15)
(Segmentación)
Valoración de la segmentación: Esquema de traducción con segmentación
◦ Espacios independientes para procesos
◦ Mediante TS
◦ Protección
◦ Mediante TS
◦ Compartir memoria
◦ Compartir segmentos: misma entrada
diferente TS
◦ Soporte de regiones
◦ Bits de protección
◦ Maximizar resultados y mapas grandes
◦ Presenta fragmentación externa
◦ No facilita esquemas de memoria virtual
debido a tamaño variable de segmentos
◦ Esquema apenas usado
Memoria Virtual (16)
(Segmentación Paginada)
Segmentación Paginada
◦ Intenta unir lo mejor de los dos esquemas
◦ Una entrada en TS apunta a una TP para el segmento
◦ Segmentación:
◦ Soporte directo a segmentos
◦ Facilita operaciones sobre regiones
◦ Para establecer protección solo se modifica una entrada de la TS
◦ Para definir la compartición de segmentos una entrada de TS apunta a la misma
TP del segmento
◦ Paginación
◦ Asignación no contigua de segmento
◦ Fragmentación interna
Memoria Virtual (17)
(Segmentación Paginada)
Valoración de la segmentación paginada
o Espacios independientes para procesos Esquema de traducción con Segmentación Paginada
◦ Mediante TS
o Protección
◦ Mediante TS
o Compartir memoria
◦ Compartir segmentos: mismas entradas
diferentes TS
o Soporte de regiones
◦ Bits de protección