Teoría de Sistemas Operativos
description
Transcript of Teoría de Sistemas Operativos
Teoría de Sistemas Operativos
Administración de la memoria
2
Administración de la MemoriaMemoria Virtual
Implementación: Paginación
Dirección Virtualb d
b’
+
Dirección Física.
b’ + d
3
Administración de la MemoriaMemoria Virtual
Implementación: Paginación
Dirección Virtualb d
b’
+
Dirección Física.
b’ + d
Tabla deDirecciones
Virtuales
4
Administración de la MemoriaMemoria Virtual
Implementación: Paginación: TDV
Dirección Virtualb d
# páginavirtual
Desplazamiento(ajuste)
Utilizado como “índice” en la Tabla de Direcciones Virtuales.Como resultado, entre el nº de
marco, si existe.
5
Administración de la MemoriaMemoria Virtual
Implementación: Paginación: TDV
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]
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]
Aspectos de construcción
6
Administración de la MemoriaMemoria Virtual
Implementación: Paginación: TDV
Ha esto hay que agregar que cada proceso requiere su propia TDV.
Ha esto hay que agregar que cada proceso requiere su propia TDV.
Aspectos de construcción
La asociación entre página y frame debe ser rápida. (Memoria Asociativa)
La asociación entre página y frame debe ser rápida. (Memoria Asociativa)
7
Administración de la MemoriaMemoria Virtual
Implementación: Paginación: TDV
Una solución es implementar una TDV en varios niveles.
Una solución es implementar una TDV en varios niveles.
Aspectos de construcción
8
Administración de la MemoriaMemoria Virtual
Implementación: Paginación: TDV en varios niveles
DP2P110 10 12
Ejemplo
Dir. Virtuales: 232 bitsPágina de 212 bits TDV de 210 “c/u”
9
Administración de la MemoriaMemoria Virtual
Implementación: Paginación: TDV en varios niveles
DP2P110 10 12
Ejemplo
10
Administración de la MemoriaMemoria 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 depáginas. (localidad de referencia)
Idea: realizar una especie de “caching”.
Tienden a realizar una gran número de referencias a un número pequeño depáginas. (localidad de referencia)
Idea: realizar una especie de “caching”.
11
Administración de la MemoriaMemoria Virtual
Implementación: Paginación: Memoria Asociativa
Idea básica
A la MMU se le agrega un dispositivo quepermite asociar direcciones virtuales con las direcciones físicas.
Obviamente, sin tener que recurrir a la TDV.
A la MMU se le agrega un dispositivo quepermite asociar direcciones virtuales con las direcciones físicas.
Obviamente, sin tener que recurrir a la TDV.
12
Administración de la MemoriaMemoria Virtual
Implementación: Paginación: Memoria Asociativa
Idea básica
A este dispositivo se le denomina “memoria asociativa”
A este dispositivo se le denomina “memoria asociativa”
13
Administración de la MemoriaMemoria Virtual
Implementación: Paginación: Memoria Asociativa
Estructura de la memoria Asociativa
Básicamente posee los mismos elementos Que una TDV.
Básicamente posee los mismos elementos Que una TDV.
Página Bit Modificado Protección Marco
14
Administración de la MemoriaMemoria 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.
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.
15
Administración de la MemoriaMemoria Virtual
Fallos de página. Algoritmos de reemplazo.
Eliminar una página que no se utilizaránunca más adelante.
Eliminar una página que no se utilizaránunca más adelante.
Reemplazo óptimo
Problema: Irrealizable.Problema: Irrealizable.
16
Administración de la MemoriaMemoria 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.
Se escoge la página que no haya sido usada(referenciada) en el ciclo anterior.
7 0 1 2 0 3 0 4 2 3 0 3 2
x x x x x x x x x
7 7 7 2 2 4 4 4 0
0 0 0 0 0 0 3 3
1 1 3 3 2 2 2
17
Administración de la MemoriaMemoria Virtual
Fallos de página. Algoritmos de reemplazo.
Uso no reciente (NRU)
Agrega un label de 2 bits a cada página: R y MAgrega un label de 2 bits a cada página: R y M
Escoge la página que se usó hace más tiempoEscoge la página que se usó hace más tiempo
•R se setea cada vez que se hace referencia a lapágina•M se setea cada vez que se modifica
•R se setea cada vez que se hace referencia a lapágina•M se setea cada vez que se modifica
18
Administración de la MemoriaMemoria Virtual
Fallos de página. Algoritmos de reemplazo.
Uso no reciente (NRU)
Clase Bit R Bit M Desc
0 0 0 Sin Referencia, Sin modificación
1 0 1 Sin Referencia, Con modificación
2 1 0 Con Referencia, Sin modificación
3 1 1 Con Referencia, Con modificación
19
Administración de la MemoriaMemoria 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.
Se elimina una página cualquiera de la primera clase no vacía con el número más pequeño.
20
Administración de la MemoriaMemoria 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.
21
Administración de la MemoriaMemoria Virtual
Fallos de página. Algoritmos de reemplazo.
Anomalía de Belady
0 1 2 3 0 1 4 0 1 2 3 4
x x x x x x x x x
0 1 2 3 0 1 4 4 4 2 3 3
0 1 2 3 0 1 1 1 4 2 2
0 1 2 3 0 0 0 1 4 4
9 fallos de página
22
Administración de la MemoriaMemoria Virtual
Fallos de página. Algoritmos de reemplazo.
Anomalía de Belady
0 1 2 3 0 1 4 0 1 2 3 4
x x x x x x x x x x
0 1 2 3 3 3 4 0 1 2 3 4
0 1 2 2 2 3 4 0 1 2 3
0 1 1 1 2 3 4 0 1 2
0 0 0 1 2 3 4 0 1
10 fallos de página
23
Administración de la MemoriaMemoria Virtual
Fallos de página. Algoritmos de reemplazo.
Anomalía de Belady
2
46
81012
14
1 2 3 4 5 6 7
24
Administración de la MemoriaMemoria 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.
25
Administración de la MemoriaMemoria Virtual
Fallos de página. Algoritmos de reemplazo.
Paginación bajo demanda
104321000
3
4
0
x
0
4
0
1
x
1
0
1
2
x
2
1
2
3
x
3
2
3
4
x
4
21110
322210
4333210
xxxxx
4103210
26
Administración de la MemoriaMemoria 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”.
27
Administración de la MemoriaMemoria 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.
28
Administración de la MemoriaMemoria Virtual
Tamaño de página
Tamaño proceso : s bytesTamaño página : p bytesTamaño reg. TDV: e bytes
#Páginas/Procesos : s/pEspacio ocupado TDV: (s/p)*eFrag. Inter. Última página : p/2
Costo = (s/p)*e + p/2 ==> p= (2se)1/2
29
Administración de la MemoriaMemoria Virtual
Para que la memoria virtual funcione sin mayores problemas, deben existir “frames” disponibles.
Fallos de página. Demonios de paginación
Los “demonios de paginación” permiten garantizar aquella oferta de frames.
30
Administración de la MemoriaMemoria Virtual
SI hay pocos frames libres ==> selecciona las páginas a eliminar (algoritmo de reemplazo)
Fallos de página. Demonios de paginación
Garantizan que los frames estén “limpios”. ==> si las páginas fueron modificadas, las escribe en disco.
31
Administración de la MemoriaMemoria Virtual