La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Unidad V Administración de la Memoria

Presentaciones similares


Presentación del tema: "Unidad V Administración de la Memoria"— Transcripción de la presentación:

1 Unidad V Administración de la Memoria
Sistemas Operativos Unidad V Administración de la Memoria

2 Administración de la Memoria
Objetivos de la administración de memoria Modelo de memoria de un proceso Esquemas de memoria basados en asignación contigua Intercambio Memoria virtual

3 Objetivos de la administración de memoria
El SO multiplexa los recursos entre los procesos: Gestión de procesos: Reparto del procesador. Gestión de memoria: Reparto de memoria. Cada proceso “cree” que tiene una máquina solo para él.

4 Objetivos de la administración de memoria (2)
Los objetivos deseables en la administración de memoria son: Ofrecer a cada proceso un espacio lógico propio. Proporcionar protección entre los procesos. Permitir que los procesos compartan memoria. Dar soporte a las distintas regiones del proceso. Maximizar el rendimiento del sistema. Proporcionar a los procesos mapas de memoria muy grandes.

5 Objetivos de la administración de memoria (3)
Ofrecer a cada proceso un espacio lógico propio. No se conoce la posición de memoria donde un programa se ejecutará. El código ejecutable genera referencias entre 0 y N. Ejemplo: programa que copia un vector 0000 Cabecera …… 0096 LOAD R1, #1000 LOAD R2, #2000 LOAD R3, /1500 LOAD R4, [R1] STORE R4, [R2] INC R1 INC R2 DEC R3 JNZ /12 …………….. LOAD R1, #1000 LOAD R2, #2000 LOAD R3, /1500 LOAD R4, [R1] STORE R4, [R2] INC R1 INC R2 DEC R3 JNZ /12 …………….. …… Sistema operativo en direcciones más altas Programa se carga en dirección 0 Se le pasa el control al programa Ejecución Sistema Operativo Archivo ejecutable S. O. Monoprogramación

6 Objetivos de la administración de memoria (4)
Reubicación Es un problema cuando el código tiene direcciones absolutas. En un sistema multiprogramación el SO debe tener la libertad de ubicar al programa donde quiera. Consiste en traducir las direcciones lógicas de los programas ejecutables a direcciones físicas.

7 Objetivos de la administración de memoria (5)
La Reubicación crea espacios lógicos independientes para cada proceso. Existen dos alternativas para la reubicación: (1) Reubicación por hardware y (2) Reubicación por software. (1) Reubicación por Hardware Hardware (MMU) esta encargado de la traducción El SO se encarga de: Almacenar la función de traducción por proceso Especificar al Hw la función de traducción del proceso El programa se carga en memoria sin modificar (2) Reubicación por Software Traducción de direcciones durante la carga del programa Programa en memoria distinto del ejecutable Desventajas: No permite mover un programa en tiempo de ejecución No asegura protección

8 Objetivos de la administración de memoria (6)
Proporcionar protección entre procesos En sistemas monoprogramación se protege el SO. En sistemas multiprogramación, además del SO, también debe haber protección entre los procesos. La traducción debe crear espacios disjuntos. Es necesario validar todas las direcciones que genera el programa. La detección debe realizarla el hardware del procesador lanzando una excepción. El tratamiento lo hace el SO en respuesta a la excepción lanzada por el hw.

9 Objetivos de la administración de memoria (7)
Permitir que los procesos compartan memoria (memoria compartida). Las direcciones lógicas de dos o más procesos se corresponden con la misma dirección física. La memoria compartida está bajo el control del SO. Los beneficios que se tienen son: Procesos ejecutando un mismo programa comparten su código. Mecanismos de comunicación entre procesos muy rápido. Requiere asignación no contigua

10 Objetivos de la administración de memoria (8)
Problemas al compartir memoria: Si una posición de la zona de memoria tiene referencia a otra posición dentro de la misma zona de memoria: En la zona de código podría darse este caso cuando se tiene una condición de bifurcación. En la zona de datos podría darse el caso cuando se almacena una lista con punteros.

11 Objetivos de la administración de memoria (9)
Dar soporte a las distintas regiones del proceso (soporte de regiones). El proceso presenta un mapa de memoria no homogéneo, formado por: Conjunto de regiones con distintas características. Ejemplo: región de código no modificable. El mapa del proceso es dinámico. Regiones cambian de tamaño (p. ej. La pila). Se crean y destruyen regiones. Existen zonas sin asignar (huecos). La administración de memoria debe dar soporte a las siguientes características: Detectar accesos no permitidos a una región. Detectar acceso a huecos. El SO debe guardar una tabla de regiones para cada proceso.

12 Objetivos de la administración de memoria (10)
Maximizar el rendimiento del sistema Reparto de memoria maximizando el grado de multiprogramación. Se “desperdicia” memoria debido a: “Restos” inutilizables (fragmentación). Tablas requeridas por el gestor de memoria. Una menor fragmentación implica tablas muy grandes. La solución es la Paginación. Otra estrategia para aumentar el grado de multiprogramación es el uso de memoria virtual.

13 Objetivos de la administración de memoria (11)
Proporcionar a los procesos mapas de memoria muy grandes. Resuelto gracias al uso de memoria virtual. Antes se usaban los overlays Programa dividido en fases que se ejecutaban sucesivamente. En cada momento solo hay una fase residente en memoria. Cada fase realiza su labor y carga la siguiente. No es transparente para el programador.

14 Modelo de memoria de un proceso
El mapa inicial de un proceso está muy vinculado con el archivo que contiene el programa ejecutable. La generación de un archivo ejecutable puede dividirse en dos fases: Compilación Resuelve referencias dentro de cada módulo fuente. Genera un módulo objeto. Montaje (o enlace) Resuelve referencias entre módulos objeto. Resuelve referencias a símbolos de bibliotecas. Genera el ejecutable incluyendo bibliotecas.

15 Modelo de memoria de un proceso (2)
En la generación del archivo ejecutable intervienen las bibliotecas y pueden ser de dos tipos: Estáticas: Se obtiene un ejecutable autocontenido. Ejecutables grandes. Código de biblioteca repetido en muchos ejecutables. Actualización de la biblioteca implica volver a montar. Dinámicas: Carga y montaje de la biblioteca en tiempo de ejecución. El ejecutable contiene: (1) el nombre de la biblioteca y (2) rutina de carga y montaje en tiempo de ejecución. Se carga en la primera referencia que se haga a ella.

16 Modelo de memoria de un proceso (3)
Formato del ejecutable Como parte final del proceso de compilación y montaje, se genera un archivo ejecutable que contiene el código máquina del programa. Distintos fabricantes han usado diferentes formatos de archivos (p. ej. ELF de Unix)

17 Modelo de memoria de un proceso (4)
El mapa de memoria de un proceso tiene las siguientes características: No es algo homogéneo. Esta formado por un conjunto de distintas regiones o segmentos. Región: Zona contigua de memoria tratada como unidad al proteger o compartir. Tiene asociada una determinada información (“objeto de memoria”). Cada región se caracteriza por: Dirección de comienzo y tamaño inicial. Soporte: donde se almacena su contenido inicial. Protección: lectura (r), escritura (w) y ejecución (x). Uso compartido o privado. Tamaño fijo o variable.

18 Modelo de memoria de un proceso (5)
Al crear el mapa de memoria desde el ejecutable las regiones de memoria se corresponderán básicamente con las secciones del ejecutable más la pila inicial del proceso. Compartida, (r,x), T. Fijo, Soporte en ejecutable Privada, (r,w), T. Fijo, Soporte en ejecutable Privada, (r,w), T. Fijo, Sin Soporte Privada, (r,w), T. Variable, Sin Soporte, Crece hacia direcciones más bajas Pila inicial, argumentos del programa

19 Modelo de memoria de un proceso (6)
Durante la ejecución de un proceso se crean nuevas regiones, así el mapa de memoria tiene un carácter dinámico. Algunas otras regiones del mapa de memoria son: Región de Heap Soporte de memoria dinámica (malloc en C) Es: Privada, RW, Tam. Variable, Sin Soporte y crece hacia direcciones más altas Archivo proyectado Región asociada al archivo proyectado Tam. Variable, Soporte en Archivo Protección y carácter compartido o privado especificado en proyección. Memoria compartida Región asociada a la zona de memoria compartida. Compartida, Tam. Variable, Sin Soporte y Protección especificada en proyección. Pilas de threads Cada pila de thread corresponde con una región Mismas características de la pila de proceso Carga de biblioteca dinámica Se crean regiones asociadas al código y datos de la biblioteca.

20 Modelo de memoria de un proceso (7)
Durante la vida de un proceso, su mapa de memoria va evolucionando y con él sus regiones. Existen cuatro operaciones genéricas sobre dichas regiones: Crear región Se da de forma implícita al crear el mapa inicial, o por solicitud del programa (p. ej. Proyectar un archivo). Eliminar región Se da implícitamente al terminar el proceso o por solicitud del programa en tiempo de ejecución (p. ej. Desproyectar un archivo). Cambiar de tamaño la región Se da implícitamente para la pila o por solicitud del heap. Duplicar la región Operación requerida por el servicio fork()

21 Esquemas de memoria basados en asignación contigua
Un esquema simple de administración de memoria consiste en asignar a cada proceso una zona contigua de memoria para que en ella resida su mapa de memoria. Dentro de este esquema se da la gestión contigua basada en particiones dinámicas Cada vez que se crea un proceso el SO busca un hueco de tamaño suficiente para el mapa. El SO reserva la parte del hueco necesaria para crear en ella el mapa inicial del proceso Es necesario que el procesador tenga dos registros de propósito especial para tratar las direcciones que generen los programas.

22 Esquemas de memoria basados en asignación contigua (2)
El hardware requerido típicamente son dos registros en el procesador: Registro límite Para comprobar que cada dirección que genere el proceso no es mayor que el valor almacenado. De ser así se genera una excepción. Registro base Una vez comprobado el registro límite, el procesador le sumará el valor de este registro a la dirección generada por el programa, obteniéndose con ello la dirección física.

23 Esquemas de memoria basados en asignación contigua (3)
Gestión del SO Almacenar en el BCP los registros límite y base del proceso. Y carga dichos registros cuando se activa un proceso. Mantiene información sobre el estado de ocupación de la memoria Utiliza estructuras de datos que identifican huecos y zonas asignadas Bajo este esquema se genera fragmentación externa: Se generan pequeños fragmentos libres entre zonas asignadas. Posible solución : compactación. Sin embargo, este puede ser un proceso muy costoso.

24 Esquemas de memoria basados en asignación contigua (4)
Políticas de asignación de espacio Qué hueco usar para satisfacer una petición de memoria. Posibles políticas: Mejor ajuste Asignar el menor hueco con tamaño suficiente Requiere una lista ordenada por tamaño o buscar en toda la lista Se generan nuevos espacios libres muy pequeños Peor ajuste Asignar el mayor hueco con tamaño suficiente Requiere una lista ordenada por tamaño o buscar en toda la lista. Primer ajuste Asignar el primer hueco con tamaño suficiente. Suele ser la mejor política

25 Esquemas de memoria basados en asignación contigua (5)
Valoración del esquema de asignación contigua Espacios lógicos independientes Se logra mediante los registros límite y base Protección El uso de los registros límite y base asegura que un proceso no pueda acceder a la memoria de otros procesos o del sistema operativo. Compartir memoria. No es posible Soporte de las regiones No existe Se reserva espacio para huecos Maximizar rendimiento y mapas grandes Mal aprovechamiento de memoria por fragmentación externa No permite memoria virtual

26 Intercambio En su momento significó la manera de permitir que los sistemas de tiempo compartido tuvieran más procesos de los que caben en la memoria. En un disco o partición de este (swap) se tiene un respaldo de la memoria, en lo que respecta a las imágenes de los procesos. Cuando no caben en memoria todos los procesos activos, entonces algún proceso debe ser expulsado (swap out), pero en algún momento el proceso expulsado deberá ser reactivado (swap in).

27 Intercambio (2) Swap out Swap in
Cuando un proceso es expulsado de la memoria su imagen es copiada al swap. Los criterios de selección del proceso a expulsar pueden ser diversos: Dependiendo de la prioridad del proceso. Preferiblemente un proceso bloqueado No expulsar si esta activo DMA sobre el mapa del proceso No es necesario copiar todo el mapa al swap (ni código ni huecos). Swap in Cuando existe espacio suficiente en memoria. Cuando un proceso necesita ser reactivado Al cumplir cierto tiempo de estar expulsado En este caso antes del swap in se hace el swap out de otro.

28 Intercambio (3) La asignación de espacio en el dispositivo swap tiene dos alternativas Preasignación Al crear el proceso ya se reserva espacio de swap suficiente para albergarlo. Sin Preasignación Sólo se reserva espacio cuando se expulsa el proceso Usado en sistemas tipo Unix Una solución más general es el uso de memoria virtual. Aún cuando se utiliza conjuntamente con la técnica de intercambio (swaping)

29 Memoria Virtual En esta técnica el SO administra la memoria principal y la memoria secundaria para almacenar información perteneciente a los procesos.

30 Memoria Virtual (2) De forma general se puede decir que el SO transfiere bloques entre ambas memorias. De memoria principal a memoria secundaria por expulsión. De memoria secundaria a memoria principal por demanda. Los beneficios obtenidos son: Aumento en el grado de multiprogramación Permite la ejecución de programas más grandes que la memoria principal. Por otro lado, no es adecuada para sistemas de tiempo real

31 Memoria Virtual (3) (Paginación)
Surge como un intento para satisfacer los objetivos de la administración de memoria sofisticando considerablemente el hardware del procesador y aumentando la cantidad de información de traducción por proceso. La unidad básica de trabajo en este esquema es obviamente la página, la cual corresponde con una zona de memoria contigua de determinado tamaño (potencias de 2, típicamente 4kb). El mapa de memoria de cada proceso esta dividido en páginas. A su vez, la memoria principal esta dividida en marcos de página (en un determinado momento contiene una página del proceso).

32 Memoria Virtual (4) (Paginación)
Tablas de páginas (TP) Contiene la información de dónde residen las páginas de un programa en ejecución. Relacionan cada página con el marco que la contiene. El MMU usa TP direcciones lógicas a direcciones físicas. El procesador tiene un registro que almacena la dirección de la TP de un proceso.

33 Memoria Virtual (5) (Paginación)
Ejemplo de traducción con tablas de páginas

34 Memoria Virtual (6) (Paginación)
Fragmentación interna en paginación Seda debido a que cada proceso tiene un número entero de marcos de página, lo que ocasiona que la memoria asignada sea mayor que la memoria requerida, por lo tanto puede desperdiciarse parte de un marco asignado.

35 Memoria Virtual (7) (Paginación)
Contenido de un registro de la TP Número de marco asociado Información de protección: (R, W, X) Si se hace una operación no permitida se lanza una excepción Bit de página válida/inválida Bit de página accedida Bit de página modificada Bit de desactivación de cache Cuando la entrada corresponde con direcciones de E/S 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.

36 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

37 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

38 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

39 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.

40 Memoria Virtual (12) (Paginación)
Ejemplo de traducción con TP de dos niveles

41 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.

42 Memoria Virtual (14) (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

43 Memoria Virtual (15) (Segmentación)
Esquema de traducción con segmentación Valoración de la segmentación: Espacios independientes para procesos Mediante TS Protección 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

44 Memoria Virtual (16) (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

45 Memoria Virtual (17) (Segmentación Paginada)
Valoración de la segmentación paginada Espacios independientes para procesos Mediante TS Protección Compartir memoria Compartir segmentos: mismas entradas diferentes TS Soporte de regiones Bits de protección Esquema de traducción con Segmentación Paginada Maximizar rendimiento y mapas grandes Permite esquemas de memoria virtual Comparado con la paginación Facilita al SO gestión de regiones pero requiere hw más complejo

46 Memoria Virtual (18) Paginación por demanda
Segmentación pura no adecuada para memoria virtual Tamaño de segmentos variable Paginación y segmentación paginada sí lo son: Los bloque transferidos son páginas Memoria virtual + paginación = paginación por demanda. Estrategia de implementación: uso de bit de validez. Si la página no reside se marca como no válida. En acceso: Excepción de fallo de página El SO trae la página correspondiente de memoria secundaria El SO debe diferenciar entre una página no residente y página no válida Prepaginación: traer páginas por anticipado (no por demanda) En fallo de página se traen otras páginas que posiblemente necesite el proceso Beneficiosa si se acierta en la predicción

47 Memoria Virtual (19) Tratamiento de fallo de página
Tratamiento de la excepción Si la dirección es inválida se aborta el proceso o se le manda una señal. Si no hay ningún marco libre (consulta T. marcos) Selecciona una victima (Aplica un algoritmo de reemplazo) Si la página fue modificada, entonces, se guarda en memoria secundaria Si hay marco libre Se escribe la página sobre el marco Se marca la entrada de la página como válida El marco se establece como ocupado en TM sin no lo estaba Un fallo de página puede implicar dos accesos a disco

48 Memoria Virtual (20) Políticas de administración de la memoria virtual
Política de reemplazo ¿Qué página reemplazar si hay fallo y no hay marco libre? Reemplazo local Solo se usan marcos asignados al proceso que causa el fallo Reemplazo global Se utiliza cualquier marco Política de asignación de espacio a los procesos ¿Cómo se reparten los marcos entre los proceso? Asignación fija o asignación dinámica

49 Memoria Virtual (21) Algoritmos de reemplazo
Objetivo: minimizar la tasa de fallos de página Cada algoritmo tiene su versión local y global Algoritmos más comunes: Óptimo FIFO Reloj LRU

50 Memoria Virtual (22) Algoritmo óptimo Algoritmo FIFO
Criterio: Página residente que tardará más en accederse. Irrealizable Interés para estudios analíticos y comparativos. Versiones local y global Algoritmo FIFO Criterio: página que lleva más tiempo residente Fácil implementáción Páginas residentes en orden FIFO (se expulsa la primera) No requiere el bit de página accedida No es una buena estrategia Página que lleva mucho tiempo residente puede seguir accediéndose frecuentemente. Su criterio no se basa en el uso de la página Anomalía de Belady: (entre más marcos más fallas)

51 Memoria Virtual (23) Algoritmo del reloj
FIFO + uso del bit de referencia de página accedida (Ref). Criterio: Si página elegida por FIFO no tiene activo Ref Es la página expulsada Si la página si tiene activo Ref se le da una segunda oportunidad Se desactiva Ref Se pone la página al final del FIFO Se aplica el criterio a la siguiente página Se puede implementar orden FIFO como lista circular con una referencia a la primera página de la lista Se visualiza como un reloj donde la referencia a la primera página es la aguja del reloj.

52 Memoria Virtual (24) Algoritmo LRU
Criterio: Página residente menos recientemente usada. Por proximidad de referencias Pasado reciente condiciona futuro próximo Sutileza En su versión global: menos recientemente usada en el tiempo lógico de cada proceso. Difícil implementación estricta (hay aproximaciones) Necesitaría de una MMU específica y en general hardware de propósito especial

53 Memoria Virtual (25) Buffering de páginas
El peor caso en tratamiento de fallas es 2 accesos a dispositivo. La alternativa viable es mantener una reserva de marcos libres para que en un fallo de página siempre se usa un marco libre. La estrategia es: Si el número de marcos libres < umbral Activar demonio de paginación que aplique repetidamente un algoritmo de reemplazo Páginas no modificadas pasan a la lista de marcos libres Páginas modificadas pasan a la lista de marcos modificados (cuando se escriban a disco pasan a lista de libres). Si se referencia una página mientras esta en listas: Fallo de página la recupera directamente de la lista Provoca un mejor comportamiento de algoritmos “malos”

54 Memoria Virtual (26) Estrategia de asignación dinámica
El número de marcos varia dependiendo del comportamiento del proceso y posiblemente de los otros procesos. Asignación dinámica con reemplazo local El proceso va aumentando o disminuyendo su conjunto residente dependiendo de su comportamiento. Comportamiento relativamente predecible. Asignación dinámica con reemplazo global Los procesos se quitan las páginas entre ellos Comportamiento difícilmente predecible

55 Memoria Virtual (27) Hiperpaginación
Tasa excesiva de fallos de página de un proceso o en el sistema Con asignación fija se da hiperpaginación en el proceso Cuando el número de marcos asignados no es suficiente Provoca un incremento en el tiempo de ejecución del proceso. Con asignación variable se da hiperpaginación en el sistema Cuando el número de marcos en el sistema no son suficientes para albergar el conjunto de trabajo de todos los procesos. La utilización del procesador cae drásticamente puesto que se incrementa el tiempo que se dedica al tratamiento de fallos de página. Cuando esto ocurre se deben suspender uno o varios procesos y liberar sus páginas.

56 Memoria Virtual (28) Solución a la hiperpaginación
Se debe tener un control de carga para: disminuir el grado de multiprogramación Suspender 1 o más procesos liberando sus páginas. Algunas políticas del control de carga son: Estrategia del conjunto de trabajo Intenta conocer el conjunto de páginas usadas por el proceso en las últimas N referencias. Si el trabajo decrece se liberan macros Si el trabajo crece se asignan macros Si no hay disponibles: suspender proceso(s). Se reactivan cuando hay marcos suficientes Implementación estricta difícil. Estrategia basada en frecuencia de fallos Si la tasa es menor a un cierto límite inferior se liberan marcos aplicando un algoritmo de reemplazo Si la tasa es mayor a un cierto límite superior se asignan nuevos marcos, si no los hay se suspende un proceso


Descargar ppt "Unidad V Administración de la Memoria"

Presentaciones similares


Anuncios Google