Gestin de Memoria Parte 2 Agenda Memoria Virtual

  • Slides: 18
Download presentation
Gestión de Memoria – Parte 2 Agenda • • Memoria Virtual Paginación Segmentación Combinación

Gestión de Memoria – Parte 2 Agenda • • Memoria Virtual Paginación Segmentación Combinación de Paginación y Segmentación Software del SO Tamaño del conjunto residente Políticas de Carga Políticas de Vaciado Arquitectura y Sistemas Operativos Gestión de Memoria Parte 2 1

Memoria Virtual (1) • Dos características principales – Todas las referencias del procesador a

Memoria Virtual (1) • Dos características principales – Todas las referencias del procesador a memoria son direcciones lógicas que se traducen durante la ejecución. – Un proceso puede cargarse en partes que pueden no ser contiguas en Memoria Principal. Arquitectura y Sistemas Operativos Gestión de Memoria Parte 2 2

Memoria Virtual (2) Ventaja • Durante la ejecución de un proceso – No será

Memoria Virtual (2) Ventaja • Durante la ejecución de un proceso – No será necesario que estén todas sus partes en memoria. – Las partes cargadas en Memoria Principal se denominan Conjunto Residente. Un bit indica si la página está o no en MP. Si está, incluye también el número de marco de la página. Otro bit de control indica si la página se modificó, y sólo se graba si fue modificada. Arquitectura y Sistemas Operativos Gestión de Memoria Parte 2 3

Memoria Virtual (3) • Desventaja – Cuando se carga un fragmento se debe descargar

Memoria Virtual (3) • Desventaja – Cuando se carga un fragmento se debe descargar otro. Pero demasiados intercambios conducen a la Hiperpaginación (Trashing). – Los algoritmos para evitarla se basan el principio de cercanía de referencias. Una Memoria Virtual práctica y efectiva requiere: • Soporte del hardware. • Un SO que incluya software que gestione intercambio de páginas o segmentos entre MP y MV. Lectura recomendada: Sistemas Operativos, William Stallings Estructuras de Hardware y Control Memoria Virtual y Cercanía de referencias. Arquitectura y Sistemas Operativos Gestión de Memoria Parte 2 4

Paginación (1) • Las entradas de la tabla de páginas son más complejas que

Paginación (1) • Las entradas de la tabla de páginas son más complejas que en Paginación Simple. • Cuando se ejecuta un proceso, su dirección de comienzo en la tabla de páginas se mantiene en un registro (hardware). Arquitectura y Sistemas Operativos Gestión de Memoria Parte 2 5

Paginación (2) • Como cada referencia a memoria virtual puede generar dos accesos a

Paginación (2) • Como cada referencia a memoria virtual puede generar dos accesos a memoria, se hace uso de una caché especial para las tablas de páginas denominada Buffer de traducción adelantada (TLB) que contiene aquellas entradas de las páginas usadas hace menos tiempo. Se pueden También y con se puede más diseñar un Para un tamaño dadousar de TLB mayores o de usar tamaños sistema de páginas con varios tamaños de TLB, si creceentradas el tamaño grandes paray que cada entrada página a la que tabla así ofrece la los procesos en MP de la TLB haga flexibilidad referencia necesaria a un para un uso decrecedesupáginas cercanía, de memoria mayor. eficaz de la TLB. disminuye el % debloque aciertos en accesos a la misma. Lectura recomendada: Sistemas Operativos, William Stallings Estructuras de Hardware y Control Memoria Virtual y Paginación. Arquitectura y Sistemas Operativos Gestión de Memoria Parte 2 6

Paginación (3) • El tamaño de la página es una importante decisión en el

Paginación (3) • El tamaño de la página es una importante decisión en el diseño del hardware. Deben considerarse dos cuestiones: – Cuando menor sea el tamaño de las página, menor será la fragmentación interna; pero mayor el tamaño de las tablas, cuya mayor parte estará en memoria virtual. – Al tiempo que aumenta el tamaño de la MP, el espacio de direcciones también aumenta. Lectura recomendada: Sistemas Operativos, William Stallings Estructuras de Hardware y Control Memoria Virtual y Segmentación. Arquitectura y Sistemas Operativos Gestión de Memoria Parte 2 7

Segmentación (1) • El programador no necesita preocuparse por las limitaciones de memoria impuestas

Segmentación (1) • El programador no necesita preocuparse por las limitaciones de memoria impuestas por el tamaño de la MP. Las referencias a MP constan de una dirección virtual (nro. de segmento, desplazamiento). • Las ventajas que ofrece esta técnica son: – – Simplifica el manejo de estructuras crecientes. Se presta a la compartición. Se presta a la protección. Se pueden modificar y recompilar los programas independientemente. Arquitectura y Sistemas Operativos Gestión de Memoria Parte 2 8

Segmentación (2) • Se usa la misma estructura que para la segmentación simple: una

Segmentación (2) • Se usa la misma estructura que para la segmentación simple: una tabla de segmentos por proceso, pero más compleja. Como en la paginación con MV, usa un bit de presencia. Pueden haber otros bits de control, si se gestiona la protección o la compartición de segmentos se necesitarán más bits para este propósito. Lectura recomendada: Sistemas Operativos, William Stallings Estructuras de Hardware y Control Memoria Virtual y Segmentación. Arquitectura y Sistemas Operativos Gestión de Memoria Parte 2 9

Combinación de paginación y segmentación (1) • Algunos sistemas combinan las ventajas de ambas.

Combinación de paginación y segmentación (1) • Algunos sistemas combinan las ventajas de ambas. El espacio del usuario se divide en varios segmentos y cada segmento, a su vez, se puede dividir en varias páginas de tamaño fijo de igual longitud que un marco de MP. • Asociada con cada proceso existe una tabla de segmentos y varias tablas de páginas (una por cada segmento). Arquitectura y Sistemas Operativos Gestión de Memoria Parte 2 10

Combinación de paginación y segmentación (2) • La protección ofrece la posibilidad de crear

Combinación de paginación y segmentación (2) • La protección ofrece la posibilidad de crear una estructura de anillos. Usualmente el anillo 0 está reservado para funciones del núcleo del SO. • Los principios básicos del sistema de anillos son: – Un proceso sólo puede acceder a datos que estén en el mismo anillo o uno de menor privilegio. – Un proceso puede llamar a servicios que están en el mismo anillo o en otro más privilegiado. Lectura recomendada: Sistemas Operativos, William Stallings Estructuras de Hardware y Control Combinación de segmentación y paginación. Protección y compartición. Arquitectura y Sistemas Operativos Gestión de Memoria Parte 2 11

Software del SO (1) El diseño del gestor de memoria del SO depende de

Software del SO (1) El diseño del gestor de memoria del SO depende de tres cuestiones: • Hardware: – Si se usa o no MV. – Uso de segmentación, paginación, o ambas. • Software: – Algoritmos empleados. Arquitectura y Sistemas Operativos Gestión de Memoria Parte 2 El SO debe decidir sobre qué páginas residentes debe reemplazar, el intercambio de E/S involucrado y la planificación del proceso que va a ejecutarse. 12

Software del SO (2) ¿Cuándo se debe cargar una página en Memoria Principal? Las

Software del SO (2) ¿Cuándo se debe cargar una página en Memoria Principal? Las alternativas más comunes son dos: Paginación por demanda: Se carga una página en MP sólo cuando se hace referencia a una posición dentro de ella. Paginación previa: Se cargan, junto con la página referenciada, otras páginas consecutivas a la pedida. Lectura recomendada: Sistemas Operativos, William Stallings Software del Sistema Operativo Arquitectura y Sistemas Operativos Gestión de Memoria Parte 2 13

Políticas de reemplazo de páginas Contemplan la decisión de qué página se va a

Políticas de reemplazo de páginas Contemplan la decisión de qué página se va a reemplazar en MP cuando se debe cargar una nueva. Se consideran cuatro algoritmos básicos: • La política óptima. • La política del reloj. • La política de la usada hace más tiempo. • La política Primera en entrar, primera en salir (FIFO) Arquitectura y Sistemas Operativos Gestión de Memoria Parte 2 14

Tamaño del conjunto residente • Con memoria virtual, el SO debe decidir cuántas páginas

Tamaño del conjunto residente • Con memoria virtual, el SO debe decidir cuántas páginas debe traer a MP con u determinado proceso. Se debe considerar: – Cuanto menor es la cantidad de memoria asignada a un proceso, mayor es el número de procesos que pueden estar simultáneamente en MP. – Si en MP hay un número pequeño de páginas en un mismo proceso, el porcentaje de fallos de página será mayor. Lectura recomendada: Sistemas Operativos, William Stallings Gestión del conjunto residente Arquitectura y Sistemas Operativos Gestión de Memoria Parte 2 15

Políticas de Carga • Para asignar memoria al conjunto residente se establecen dos tipos

Políticas de Carga • Para asignar memoria al conjunto residente se establecen dos tipos de políticas: – Asignación fija: Otorga a cada proceso un número fijo de páginas. – Asignación variable: Permite cambiar el número de marcos asignados a un proceso durante su vida dentro del sistema. Lectura recomendada: Sistemas Operativos, William Stallings Políticas de carga Arquitectura y Sistemas Operativos Gestión de Memoria Parte 2 16

Políticas de Vaciado • Es contraria a la política de escritura; se preocupa por

Políticas de Vaciado • Es contraria a la política de escritura; se preocupa por determinar el momento en que hay que escribir una página modificada en memoria secundaria. – Con el vaciado por demanda una página se escribirá en el disco sólo cuando haya sido elegida para modificarse. – Con el vaciado previo las páginas modificadas se escriben por lotes antes de que se necesiten sus marcos. Lectura recomendada: Sistemas Operativos, William Stallings Políticas de vaciado Arquitectura y Sistemas Operativos Gestión de Memoria Parte 2 17

Diagrama de fallos Pedido de acceso a memoria ¿Entrada en TLB? Si Página en

Diagrama de fallos Pedido de acceso a memoria ¿Entrada en TLB? Si Página en MP? No ¿Lugar en TLB? Algoritmo de selección de bloque a reemplazar ¿Se modificó? Si No Si Escribir en MV la entrada de la tabla a reemplazar Arquitectura y Sistemas Operativos Buscar entrada de la tabla en MV Acceso logrado No Fallo de TLB No Si Fallo de página No ¿Lugar en MP? Cargar entrada en TLB Algoritmo de selección de página a reemplazar Si No ¿Se modificó? Cargar página en MP Buscar página en MV Si Escribir la Página a reemplazar en MV Gestión de Memoria Parte 2 18