Administración de la memoria aspectos fundamentales
Lámina 1
Roberto Gómez C.
La memoria • Organización y administración de la memoria principal • Memoria principal = memoria primaria = memoria real • Memoria M i = almacenamiento l i t
Lámina 2
Roberto Gómez C.
Jerarquía Memoria
Registros Caché Memoria Principal Disco Caché Disco Magnético Cinta Magnética Lámina 3
Disco Optico Roberto Gómez C.
Organización de la memoria • La forma de considerar la memoria principal – Multiusuario o un solo usuario – Asignación de espacio a procesos concurrentes – Dividir memoria en fragmentos denominados particiones – Donde colocar cada trabajo: • en forma continua • en forma salteada Lámina 4
Roberto Gómez C.
Estrategias administración memoria • •
Determinan el comportamiento de una organización de memoria determinada Se dividen en: 1. Estrategias de obtención a) Estrategias de obtención por demanda b) Estrategias de obtención anticipada
22. Estrategias de colocación 3. Estrategias de reemplazo
Lámina 5
Roberto Gómez C.
Asignación continua vs nocontinua • Asignación memoria continua. – cada programa debe ocupar bloques continuos de localidades de memoria
• Asignación no continua – programa es divido en bloques o segmentos que pueden ser asignados a localidades no necesariamente continuas
Lámina 6
Roberto Gómez C.
Multiprogramación y admon. memoria • • • • •
Facilita la programación de una aplicación al dividirla en dos o más procesos Capacidad de tener al mismo tiempo más de un proceso en memoria Poder proporcionar un servicio interactivo a varias personas al mismo tiempo Retardo atención procesos: dedican tiempo sustancial en la espera de la conclusión de E/S en disco. Dos tipos i 1. Multiprogramación con particiones fijas 2 Multiprogramación con particiones variables 2.
Lámina 7
Roberto Gómez C.
Colas múltiples vs colas únicas
Varias colas de entrada
Partición 4
Partición 4
Partición 3
Partición 3 Una cola de entrada
Partición 2
Partición 1 Sistema operativo
(a)
Partición 2
Partición 1 Sistema operativo
(b)
(a) Particiones fijas de memoria con colas de entrada independientes para cada partición (b) Particiones fijas de la memoria, con una única colas de entrada Lámina 8
Roberto Gómez C.
Particiones variables
C
B
B
C
B
C
C
C
B E
A
A
A D
D
D
Sistema
Sistema
Sistema
Sistema
Sistema
Sistema
Sistema
Operativo
Operativo
Operativo
Operativo
Operativo
Operativo
Operativo
Particiones variables: la asignación de memoria cambia cuando el proceso llega o sale de la memoria.
Memoria no utlizada Lámina 9
Roberto Gómez C.
Protección multiprogramación • • •
Diversas tareas se ejecutan en direcciones distintas ¿Como asegurarse que un proceso no invada la dirección de otro? T posibles Tres ibl soluciones: l i 1. Usar un offset por dirección/partición 2. Dividir memoria en bloques y asignar códigos protección 3 Usar 3. U registros i t especiales i l
Lámina 10
Roberto Gómez C.
Reemplazo o intercambio • Intercambio: – traslado de procesos de la memoria principal al disco y viceversa.
• Estrategias de reemplazo: – usadas para determinar donde se va a ubicar el proceso dentro de la memoria principal
Número, posición y tamaño particiones varía en forma dinámica conforme el sistema es ut ado. utilizado. Uso particiones variables provoca “huecos” en la memoria principal. principal Dos técnicas: 11. C Condensación d ió de d huecos h 2. Compactación del almacenamiento
Lámina 15
Roberto Gómez C.
Administración particiones • •
Mecanismo usado saber cuales particiones estan libres y cuales estan ocupadas. Existen tres mecanismos: 1. Mapas de bits 2 Listas ligadas 2. 3. Sistema de los asociados
Lámina 16
Roberto Gómez C.
Mapas de bits
A
B 8
C 16
D
E 24
11111000 11111111 11001111 11111000
Lámina 17
Roberto Gómez C.
Listas ligadas A
C
B 8
P
0
5
Hueco
16
H
H 18 2
5
3
P 20 6
Comienza en 18
D
Longitud 2
E 24
6
P 14 4
P 26 3
H 29 3
P
8
x
Proceso
Una parte de la memoria con cinco procesos y tres huecos con la información en forma de lista ligada
Lámina 18
Roberto Gómez C.
Sistemas de asociados memoria 0 a b c d e f g h i
a b c d e
Lámina 19
128K A A A 128 128 128
384K
512K
128 B B B B 64 256
64 64 64 D D
C C C C C
640K
256 256 128 128 128 128 128
768K
896K
512 512 512 512 512 512 512 1024
Al principio principio, (no se ha hecho ninguna solicitud) Solicitud de 70 Solicitud de 35 Solicitud de 85 Regreso de A
f g h i
1M H 1 3 3 3 4 4 4 3 1
huecos
Solicitud de 60 S Regreso de B Regreso de D Regreso de C
Roberto Gómez C.
Ventajas Sistemas Asociados • Cuando se libera un bloque de tamaño 2k, el administrador debe buscar en la lista de huecos de 2k pa paraa ver ve si s es posible pos b e una u a fusión. us ó . • En algoritmos que dividen los bloques en forma arbitraria la busqueda se hace en todos los arbitraria, bloques
Lámina 20
Roberto Gómez C.
Desventajas sistemas asociados • Ineficiente en terminos del uso de memoria. • Todas T d las l solicitudes li i d deben d b redondearse d d a una potencia i de dos • Proceso 35K necesita un hueco de 64, 64 por lo que se desperdician 29K g interna • Fragmentación – memoria desperdiciada dentro segementos asignados (también conocida como slack space)
• Fragmentación F t ió externa: t – huecos entre los segmentos, pero no existe hueco p dentro de ellos (también ( conocida como desperdiciado checkerborading) Lámina 21