teoría de sistemas operativos administración de la memoria

Post on 11-Apr-2015

121 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

top related