320 likes | 499 Views
Teoría de Sistemas Operativos. Administración de la memoria. Administración de la Memoria. Memoria Virtual. Implementación: Paginación. Dirección Virtual. b. d. +. b’ + d. b’. Dirección Física. Administración de la Memoria. Memoria Virtual. Implementación: Paginación.
E N D
Teoría de Sistemas Operativos Administración de la memoria
Administración de la Memoria Memoria Virtual Implementación: Paginación Dirección Virtual b d + b’ + d b’ Dirección Física.
Administración de la Memoria Memoria Virtual Implementación: Paginación Dirección Virtual b d Tabla de Direcciones Virtuales + b’ + d b’ Dirección Física.
Administración de la Memoria Memoria Virtual Implementación: Paginación: TDV Dirección Virtual b d # página virtual Desplazamiento (ajuste) Utilizado como “índice” en la Tabla de Direcciones Virtuales. Como resultado, entre el nº de marco, si existe.
Administración de la Memoria Memoria Virtual Implementación: Paginación: TDV Aspectos de construcción • Direcciones virtuales de 32 bits. • Cada página es de 4[Kib]. • Direcciones físicas de 16 bits. • Tamaño de TDV = 232 / 212 ~ 106 entradas • Cada entrada : 20 bits (página ) • 4 bits (frame) 24 bits Tamaño de TDV ~ 24 [Mib]
Administración de la Memoria Memoria Virtual Implementación: Paginación: TDV Aspectos de construcción • Ha esto hay que agregar que cada proceso requiere su propia TDV. • La asociación entre página y frame debe ser rápida. (Memoria Asociativa)
Administración de la Memoria Memoria Virtual Implementación: Paginación: TDV Aspectos de construcción Una solución es implementar una TDV en varios niveles.
Administración de la Memoria Memoria Virtual Implementación: Paginación: TDV en varios niveles Ejemplo 10 10 12 P1 P2 D Dir. Virtuales: 232 bits Página de 212 bits TDV de 210 “c/u”
Administración de la Memoria Memoria Virtual Implementación: Paginación: TDV en varios niveles Ejemplo 10 10 12 P1 P2 D
Administración de la Memoria Memoria Virtual Implementación: Paginación: Memoria Asociativa Características de los procesos Tienden a realizar una gran número de referencias a un número pequeño de páginas. (localidad de referencia) Idea: realizar una especie de “caching”.
Administración de la Memoria Memoria Virtual Implementación: Paginación: Memoria Asociativa Idea básica A la MMU se le agrega un dispositivo que permite asociar direcciones virtuales con las direcciones físicas. Obviamente, sin tener que recurrir a la TDV.
Administración de la Memoria Memoria Virtual Implementación: Paginación: Memoria Asociativa Idea básica A este dispositivo se le denomina “memoria asociativa”
Administración de la Memoria Memoria Virtual Implementación: Paginación: Memoria Asociativa Estructura de la memoria Asociativa Básicamente posee los mismos elementos Que una TDV. Página Bit Modificado Protección Marco
Administración de la Memoria Memoria Virtual Fallos de página. Algoritmos de reemplazo. Fallo de página SO debe escoger una página para retirarla de la memoria. Si esta página fue modificada debe actualizarse en disco. Problemas para escoger esa página . . . Se debe evitar que un proceso provoque fallos de memoria con un bajo número de instrucciones.
Administración de la Memoria Memoria Virtual Fallos de página. Algoritmos de reemplazo. Reemplazo óptimo Eliminar una página que no se utilizará nunca más adelante. Problema: Irrealizable.
Administración de la Memoria Memoria Virtual Fallos de página. Algoritmos de reemplazo. De menor uso reciente (LRU) Se escoge la página que no haya sido usada (referenciada) en el ciclo anterior.
Administración de la Memoria Memoria Virtual Fallos de página. Algoritmos de reemplazo. Uso no reciente (NRU) Escoge la página que se usó hace más tiempo Agrega un label de 2 bits a cada página: R y M • R se setea cada vez que se hace referencia a la • página • M se setea cada vez que se modifica
Administración de la Memoria Memoria Virtual Fallos de página. Algoritmos de reemplazo. Uso no reciente (NRU)
Administración de la Memoria Memoria Virtual Fallos de página. Algoritmos de reemplazo. Uso no reciente (NRU) En forma periódica se limpia el bit R. se distinguen las páginas que no tienen referencias recientes. Se elimina una página cualquiera de la primera clase no vacía con el número más pequeño.
Administración de la Memoria Memoria Virtual Fallos de página. Algoritmos de reemplazo. Anomalía de Belady Intuición: Más marcos para página tenga la memoria, menos fallos de página tendrá el programa.
Administración de la Memoria Memoria Virtual Fallos de página. Algoritmos de reemplazo. Anomalía de Belady 9 fallos de página
Administración de la Memoria Memoria Virtual Fallos de página. Algoritmos de reemplazo. Anomalía de Belady 10 fallos de página
Administración de la Memoria Memoria Virtual Fallos de página. Algoritmos de reemplazo. Anomalía de Belady 14 12 10 8 6 4 2 1 2 3 4 5 6 7
Administración de la Memoria Memoria Virtual Fallos de página. Algoritmos de reemplazo. Paginación bajo demanda Inicialmente los procesos de inician sin páginas en memoria A medida que el programa se ejecuta, ocurren fallos de página ==> después de un tiempo se tienen la mayoría de las páginas y disminuyen los fallos.
Administración de la Memoria Memoria Virtual Fallos de página. Algoritmos de reemplazo. Paginación bajo demanda
Administración de la Memoria Memoria Virtual Fallos de página. Algoritmos de reemplazo. Paginación bajo demanda Un proceso puede provocar muchos fallos ==> disminuye el rendimiento del sistema. Pero existe la “localidad de referencia”.
Administración de la Memoria Memoria Virtual Fallos de página. Algoritmos de reemplazo. Pre-paginación Las páginas de un proceso (“conjunto de trabajo”) se cargan antes que él. El SO debe llevar un registro de las páginas que están en el conjunto de trabajo de cada proceso.
Administración de la Memoria Memoria Virtual Tamaño de página Tamaño proceso : s bytes Tamaño página : p bytes Tamaño reg. TDV: e bytes #Páginas/Procesos : s/p Espacio ocupado TDV: (s/p)*e Frag. Inter. Última página : p/2 Costo = (s/p)*e + p/2 ==> p= (2se)1/2
Administración de la Memoria Memoria Virtual Fallos de página. Demonios de paginación Para que la memoria virtual funcione sin mayores problemas, deben existir “frames” disponibles. Los “demonios de paginación” permiten garantizar aquella oferta de frames.
Administración de la Memoria Memoria Virtual Fallos de página. Demonios de paginación SI hay pocos frames libres ==> selecciona las páginas a eliminar (algoritmo de reemplazo) Garantizan que los frames estén “limpios”. ==> si las páginas fueron modificadas, las escribe en disco.
Administración de la Memoria Memoria Virtual