Este documento trata sobre la administración de la memoria real en sistemas operativos. Explica la jerarquía de memoria, las estrategias de asignación de memoria como asignación continua, no continua, particiones fijas y variables. También describe las estrategias de colocación como first fit, best fit y worst fit. Finalmente, cubre temas como protección de memoria, intercambio y el papel de la unidad de manejo de memoria.
1. Sistemas Operativos
Porque es importante ?
Memoria real
Sistemas Operativos Profesor: CPU
Your picture here
Ciclo 2012-1 Diaz Muñante Jorge P1
P2
P3 P4
P6
P5 P4
Administración de la Memoria Real
Es un recurso escaso
Se requiere que el proceso este en M.Real
Justificación Introducción
Un proceso necesita memoria para ejecutar programas
– código del programa
– datos estáticos y dinámicos
El Gestor de Memoria pretende optimizar el uso de la memoria principal
disponible
– Sistema operativo residente
– Memoria principal disponible para ejecutar
procesos
El rendimiento global del sistema mejora si se pueden ejecutar varios
procesos concurrentemente.
El método a utilizar depende principalmente del hardware disponible.
Administración Memoria Jerarquía memoria
Organización y administración de la memoria principal
Memoria principal = memoria primaria = memoria real
Memoria = almacenamiento
Procesador
Aspectos Importantes del Modulo U Control
Memoria
Mem
Terciaria
Nivel Secundaria
Jerarquía Mem
(Disk)
(Cinta)
On-Chip
2
Registros
Principal
Cache
Datapath Cache (DRAM)
Organización (SRAM)
Estrategias de Administración
Velocidad (ns):
1s 10s-100s 100s 10,000,000s 10,000,000,000s
(10s ms) (10s sec)
Tamaño 100s Ks-Ms Ms Gs Ts
(bytes):
Diaz Muñante Jorge 1
2. Sistemas Operativos
Desempeño de niveles de memoria Memoria cache
Nivel 1 2 3 4
Nombre Registro Cache Memoria real HD
Cache: un repositorio para copiar lo que puede ser accesado mas
Tamaño tipico < 1KB > 16 MB > 16GB > 100GB rapido que el original
– Hacer que los casos mas frecuentes sean rapidos
Cache da soporte a muchas tecnicas que son actualmente usadas
Tiempo acceso (ns) 0.25 - 0.5 0.5 - 25 80 - 250 5'000,000 para dar rapidez
– Localizacion de memoria, traduccion de direcciones, paginas,
Ancho de Banda 20,000 - bloque de disco, nombre de archivos, rutas de la red, etc…
(MB/Sec) 100,000 5,000 - 10,000 1,000 - 5,000 20 - 150
Es bueno solo si:
Sistema Sistema – Se dan casos frecuentes
Manejado por compilador hardware Operativo Operativo
¿Por qué memoria cache? Jerarquia de memoria
Processor-DRAM Memory Gap (latency)
Diversas tecnologías para diversos tipos de memorias
Proc
1000 CPU
60%/año.
• A menor tiempo de acceso mayor costo por bit
“Ley de Moore’s”
(2x/1.5años) • A mayor capacidad menor costo por bit
Desempeño
100 Processor-Memory • A mayor capacidad, mayor tiempo de acceso
Performance Gap:
A medida que se desciende en la jerarquía
(grows 50% / year)
10 • Disminución del costo por bit
“Ley de Less’ ?” DRAM
DRAM
9%/año. • Aumento de la capacidad
(2X/10años)
1 • Aumento del tiempo de acceso
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
• Disminuye la frecuencia de acceso a memoria por parte
del procesador
Año
Organización de la memoria Asignación de memoria continua
Sistema Sistema
Cada proceso debe ocupar bloques continuos de localidades de memoria
Operativo Operativo
Proceso 1
Memoria Proceso 2
del
usuario Proceso 3 Varias particiones
Proceso 4
Proceso 5
Mono proceso Multiprogramado
¿Cómo colocar el proceso en memoria?
En forma continua
En forma no continua
Diaz Muñante Jorge 2
3. Sistemas Operativos
Asignacion continua Asignación de No Continua
1 GB Proceso es divido en bloques o segmentos que pueden ser asignados a
localidades nonecesariamente continuas
Proceso
Proceso 900 kb
900 kb
Sistema
Operativo 0 MB
Asignacion no continua Ventajas y Desventajas de C/U?
1 GB
Proceso 500 kb
Proceso Proceso 300 kb
900 kb
Proceso 100 kb
Sistema
Operativo 0 MB
Estrategias de administración de la memoria Importantes aspectos en el uso de la memoria
Determinan el comportamiento de una organización de memoria
determinada Controlar el • Los procesos no pueden coincidir en la misma porcion de
memoria fisica.
traslape
Se dividen en:
Traducción • Capacidad de traducir una direccion logica a una direccion real
Obtención Colocación Reemplazo
• ¿Cuál? • ¿Dónde? • ¿Cuál? • Prevenir el acceso a una memoria privada de otro proceso
Protección • Diferentes zonas de memoria pueden tener una carectiristica
especial (solo lectura, no visible a otro usuario, etc).
• El Kernel debe estar protegido de los procesos del usuarios
Diaz Muñante Jorge 3
4. Sistemas Operativos
Esquemas de asignación Administrador de Memoria
Asignacion continua
Sistema monoprogramado Sistema multiprogramado
• Con un solo proceso
• Multiprogramadas Sistema Sistema Sistema
• Particiones fijas Operativo Operativo Operativo
• Con varias colas de procesos
• Con una sola cola de procesos Memoria
• Particiones Variables del
usuario
Asignacion no continua
• Paginada simple
• Segmentada simple
• Segmentada + Paginada Un programa puede Múltiples programas comparten
o no ingresar a una diversas particiones de memoria
única partición de Particiones de tamaño fijo
memoria Particiones de tamaño variable
Particion fija o estatica Tabla de Particiones
División de la memoria en varias partes
– Tamaño diferente de las particiones
SO 0
– Tamaño fijo de las particiones (inamovible) Proceso 1 1
inicio tamaño estado pid
Único proceso por partición con tamaño ≤ partición 2 0 T0 ocupada -
Estructuras de datos para la gestión de particiones fijas Proceso 2
3 1 T1 ocupada pid1
– Tabla de descripción de particiones
2
Proceso 3 4 T2 libre -
• Estado (libre/asignada)
3 T3 ocupada pid2
• Base de la partición
4
• Tamaño de la partición T4 ocupada pid3
Partición 4
00…0 SO
Partición 3
P1 P4 P5
Varias colas
de entrada
P2
Partición 2 P3 P6
FF…F
Partición 1
Particiones fijas de memoria con
colas de entrada independientes Sistema (b) Particiones fijas de la memoria,
para cada partición operativo con una única colas de entrada
Diaz Muñante Jorge 4
5. Sistemas Operativos
Unidad de Manejo de Memoria (MMU) Relocalizacion dinámica usando registro
Dispositivo HW que mapea una direccion logica a fisica
En el esquema MMU, el valor del registro de relocalizacion es sumado a
cada direccion generada por el proceso en el momento que esta es Registro
enviada a la memoria Relocalizacion
Dirección
El programa del usuario contiene direcciones logicas; este nunca ve las 14000 Física
direcciones reales Dirección
Lógica 14346
CPU +
346
Memoria
MMU
Desventajas de P. Fijo Particiones Variables
Grado de multiprogramación. Las particiones son variables en número y longitud
– Limitado al número de particiones Inicialmente la memoria sólo contiene el sistema operativo
A cada proceso se le asigna la memoria que necesita exactamente
Fragmentación Interna
– Dentro de cada partición queda una zona de
memoria no aprovechable
– El proceso es más pequeño que la partición
– No se puede asignar a ningún otro proceso
– Es posible que procesos esperando entrar en
memoria no tengan partición a pesar de haber
espacio libre para ellos
Particiones Variables La protección en multiprogramación
• Asignar a cada proceso sólo la memoria que necesita
200 200 200 200
400 Diversas tareas se ejecutan en direcciones distintas
500
200 C 200 C 200 C 200 C C
800
100 B 100 B 100 B ¿Como asegurarse que un proceso no invada la
250
150 E dirección de otro?
300 A 300 B 150 Tres posibles soluciones:
150 D D D
224 S.O. A S.O. S.O. S.O. S.O.
1. Usar un offset por dirección/partición
2. Dividir memoria en bloques y asignar códigos
A300K C200K D150K E225K protección
B100K Fragmentación externa
¿ Solución ? E esperando 3. Usar registros especiales
Diaz Muñante Jorge 5
6. Sistemas Operativos
Protección de memoria Intercambio
2175 10000 Retiro temporal de memoria de procesos y su posterior incorporación
para continuar con su ejecución
Limite Base Área de Intercambio
– Zona de almacenamiento secundario dedicada a
si
guardar temporalmente los procesos
Dir Dir. 10343
CPU
Logica
<d +
Fisica
intercambiados
Intercambiador
343
no Memoria – Trabaja con el planificador a medio plazo
– El planificador implementa la política y el
Error intercambiador el mecanismo para llevarla a cabo.
Intercambio Estrategia de Colocación
Usadas para determinar donde se va a ubicar el proceso dentro de la
memoria principal
Sistema
Operativo
Residente
Tipos de estrategias
Swap out
Proceso1 Primer ajuste (First fit)
Espacio Mejor ajuste (best fit)
Del Peor ajuste (worst fit)
usuario Swap in
Proceso2
Siguiente ajuste (next fit)
Memoria Principal Memoria Secundaria
Estrategia First Fit Estrategia First-Fit
Se revisa la lista de huecos libres hasta encontrar el primer espacio lo Lista Procesos Entrantes
suficiente grande
El espacio se divide en 02 partes, una para el proceso, y otra para la Proceso 13K
memoria no utilizada, salvo un ajuste perfecto.
0
a Sistema Operativo
b Hueco 16K
Lista Memoria Libre EN USO
c
Hueco 14K
Dirección Inicio Tamaño d
a 16K EN USO
e
c 14K f
Hueco 5K
e 5K EN USO
g 30K g
Hueco 30K
h
Diaz Muñante Jorge 6
7. Sistemas Operativos
Estrategia First Fit Estrategia Best Fit
Se revisa la lista de huecos libres hasta encontrar el primer espacio lo Busca en toda la lista, y elige el mínimo hueco suficientemente grande
suficiente grande como para ubicar el procesos.
El espacio se divide en 02 partes, una para el proceso, y otra para la Solucion a la busqueda. Ordenarlo en forma ascendente.
memoria no utilizada, salvo un ajuste perfecto.
Estrategia Best-Fit Estrategia Best Fit
Lista Procesos Entrantes Busca en toda la lista, y elige el mínimo hueco suficientemente grande
como para ubicar el procesos.
Proceso 13K Solucion a la busqueda. Ordenarlo en forma ascendente.
0 Desventaja
a Sistema Op.
Hueco 16K
– Gasto extra en ordenar la lista
b
Lista Memoria Libre c EN USO Ventaja
Hueco 14K
Dirección Inicio Tamaño d
EN USO
– Se desperdicia menos memoria. ¿es correcto?
e
e 5K f Hueco 5K
c 14K EN USO
a 16K g
g 30K Hueco 30K
h
Estrategia Worst Fit Estrategia Worst-Fit
Se elige el hueco mas grande disponible. Lista Procesos Entrantes
Proceso 13K
0
a
Sistema Op.
b Hueco 16K
Lista Memoria Libre EN USO
c
Hueco 14K
d
Dirección Inicio Tamaño EN USO
g 30K e Hueco 5K
f
a 16K EN USO
g
c 14K
Hueco 30K
e 5K
h
Diaz Muñante Jorge 7
8. Sistemas Operativos
Estrategia Worst Fit Estrategia Next-Fit
Se elige el hueco mas grande disponible. Lista Procesos Entrantes
Ventaja
Proceso 13K
– Aumenta la probabilidad de que el nuevo hueco
0
creado sea lo suficiente grande para albergar un a
Sistema Op.
proceso. b Hueco 16K
EN USO
Desventaja c
d
Hueco 14K
– Gasto extra en ordenar la lista en forma e
EN USO
Hueco 5K
descendente. f
EN USO
g
Hueco 30K
h
La fragmentación Condensacion de Huecos
Número, posición y tamaño particiones varía en forma dinámica conforme
el sistema es utilizado.
S.Oper S.Oper S.Oper
- Uso particiones variables provoca “huecos” en la memoria
Otros Otros Otros
principal.
Procesos Procesos Procesos
- Dos técnicas: Libre 30K Libre 30K Libre 90K
1. Condensación de huecos Proceso
50K Libre 50K
2. Compactación del almacenamiento.
Libre 10K Libre 10K
Otros Otros
Otros
Procesos Procesos
Procesos
Sin condensar Condensación
Compactación de memoria Compactacion de memoria
S.Oper S.Oper Consume recursos del sistema
Proceso A Proceso A Debe detenerse para realizar el proceso
80k 80k Involucra la reubicación de los programas
Libre 30K Proceso B La frecuencia de la compactación puede ser alta.
40K
Proceso B
40K Proceso C
60k
Libre 40K
Proceso C ¿ Siempre ? Libre 70K
60k
Compactada ¿ De vez en
¿ Cuándo ? cuando ?
Diaz Muñante Jorge 8
9. Sistemas Operativos
Administración de particiones Mapa de bits
Mecanismo usado saber cuales particiones estan libres y cuales estan
ocupadas.
A B C D
0 8 16 24 32 40 48
Existen tres mecanismos:
1. Mapas de bits
2. Listas enlazadas 11111111
10000001
3. Sistema de los asociados
11110000
11111111
11000111
11111111
1 1 ...
Listas Enlazadas Sistema Buddy
Proceso 32kB
proceso
A B C D Proceso
128kB
0 8 16 24 32 40 48 256kB Proceso
128kB
128kB
256kB
Proceso 32kB
32kB
64kB
32kB
P 0 9 H 9 6 P 15 5 128kB
64kB
512kB
Proceso
256kB
256kB
H 20 4 P 24 10 H 34 3
1MB
Proceso
256kB
P 37 13 256kB
512kB
Longitud
256kB
Comienzo
Proceso
Diaz Muñante Jorge 9