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

• Tipos estrategias: 1. First-fit 2. Best-fit 3 Worst-fit 3. fi Lámina 11

Roberto Gómez C.

Estrategia First Fit

Lista Procesos Entrantes

Proceso 13K

0 Sistema Operativo a Hueco 16K

Li Lista Memoria M i Libre Lib

b EN USO

c

Dirección Inicio a c e g

Tamaño 16K 14K 5K 30K

Hueco 14K d EN USO

e f

Hueco 5K EN USO

g Hueco 30K Lámina 12

h

Roberto Gómez C.

Estrategia Best-Fit

Lista Procesos Entrantes

Proceso 13K

0 Sistema Operativo a Hueco 16K

Li Lista Memoria M i Libre Lib

b EN USO

c

Dirección Inicio e c a g

Tamaño 5K 14K 16K 30K

Hueco 14K d EN USO

e f

Hueco 5K EN USO

g Hueco 30K Lámina 13

h

Roberto Gómez C.

Estrategia Worst-Fit

Lista Procesos Entrantes

Proceso 13K

0 Sistema Operativo a Hueco 16K

Li Lista Memoria M i Libre Lib

b EN USO

c

Dirección Inicio g a c e

Tamaño 30K 16K 14K 5K

Hueco 14K d EN USO

e f

Hueco 5K EN USO

g Hueco 30K Lámina 14

h

Roberto Gómez C.

La fragmentación •

• •

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

Roberto Gómez C.