Señor
Administración de memoria.
• Jerarquía de memoria:
–
–
–
–
•
Registros CPU del procesador
Caché (memoria rápida)
Memoria principal RAM
Almacenamiento secundario (memoria virtual)
Al bajar en la jerarquía más capacidad pero más lento es el
dispositivo y más barato.
• Administrador de memoria:
– Parte del S.O. que gestiona la memoria:
• Controlde que partes de la memoria están utilizadas o libres.
• Asignar memoria a procesos y liberarla cuando terminan.
• Administrar intercambio entre memoria y disco (Memoria Virtual).
Administración de memoria.
• Proceso de Compilación y Carga de un Programa:
Módulo
Objeto
Programa Fuente
Otros Modulos
Objeto
Contenido
de la memoria
en binario
Compilación y
Ensamblador
Editorde
Enlaces
Ejecución
Carga
• Ejemplo: (enlace de direcciones) Programa ensamblador con
salto a una etiqueta:
• ETIQ --jmp ETIQ
Proceso de Compilación y Carga de Programas.
• ¿En que momento se realiza el enlace o traducción de
direcciones?
– Compilación: Generando código absoluto, en el momento de
compilación se sabe donde residirá el programa en memoria.
– Carga (Reubicaciónestática):
• El compilador genera código relocalizable.
• Se crean direcciones de memoria absolutas cuando se carga el
programa en memoria.
– Ejecución (Reubicación dinámica) :
• Durante la ejecución puede moverse el código de un proceso.
• Necesita apoyo del hardware:
CPU
Direcciones
Logicas
0
1
.
.
.
100
Registro Base
+
MEMORIA
FISICA
Administración en sistemasMonoprogramados.
• En sistemas monoprogramados generalmente la memoria
principal dividida en dos particiones:
– Una para el usuario:
• Un proceso con su código.
• Dirección a partir de la que se cargan programas de usuario.
– Otra para el sistema operativo residente (memoria baja).
00000
0FFFF
Sistema
Operativo
Usuario
– Es necesario proteger las particiones entre sí.Administración en sistemas Monoprogramados.
• A veces el tamaño del S.O. desea variarse:
– Ej.: Manejadores de dispositivos que no se usan.
• Se puede realizar una reubicacion dinámica del espacio.
Dirección
Logica= 346
CPU
Registro Base=
14000
+
Dirección
Física= 14346
MEMORIA
FISICA
• También, cargar los procesos de usuario en memoria alta.
FFFFF
00000
Sistema
OperativoLibre
Proceso
Usuario
Administración en sistemas Multiprogramados.
• Es deseable que haya varios procesos en memoria para su
ejecución concurrente.
• Se debe compartir la memoria entre varios procesos que
esperan asignación de la misma.
• Esquemas de asignación de memoria:
–
–
–
–
–
Contigua: particiones fijas y variables
Intercambio (swapping)
Paginación
SegmentaciónSegmentación paginada
Administración en sistemas Multiprogramados.
• Primer esquema de asignación de memoria: Particiones
– La memoria está dividida de antemano en espacios (Particiones).
– Un proceso necesita ejecutarse -> Se le asigna uno de dichos
espacios (Partición).
– Cada partición puede contener un único proceso.
– Pueden ser:
• Particiones Fijas:
– Todas el mismo tamaño.
–Con diferentes Tamaños.
• Particiones Variables.
Particiones Fijas.
• Particiones de igual tamaño:
00000
0FFFF
Sistema
Operativo
1FFFF
2FFFF
Partición 1 Partición 2
NFFFF
...
Partición N
– Nivel de multiprogramación limitado por número de particiones.
– Hay una cola con procesos que quieren utilizar memoria y ejecutarse.
– Hay una tabla para indicarparticiones ocupadas y libres.
Particiones Fijas.
• Particiones con diferentes tamaños:
00000
0FFFF
Sistema
Operativo
Partición 1
3FFFF
40FFF E1FFF
Partición 2
• Para procesos que quieren utilizar
memoria para ejecutarse: 00000
– Podemos tener varias colas:
– Cada proceso se asigna a una
cola en función de su tamaño.
Sistema
Operativo
...
Partición N
Proceso 6...
Regístrate para leer el documento completo.