Imagen tomada de http://labvirtual.webs.upv.es/Applets/GAndreu/Objeto_Fijas_Una_cola/part_fijas_frag_interna.jpg
La memoria física es un conjunto de celdas
referenciables por medio de una dirección lineal
(p.ej. de la 00000h a la FFFFFh)
n Para que un programa se ejecute, su código y
sus datos necesitan estar cargados en memoria
(al menos en parte)
n En un sistema multitarea, la memoria ha de
repartirse entre los diferentes procesos
Tomado de http://sopa.dis.ulpgc.es/so/teoria/pdf/so-08-Memoria.pdf
En un sistema monoprogramado, la memoria principal
se divide en dos partes: una parte para el sistema operativo (monitor
residente, núcleo) y otra parte para el programa que se ejecuta en ese
instante. En un sistema multiprogramado, la parte de " Usuario " de
la memoria debe subdividirse aún mas para hacer sitio a varios procesos. La
tarea de subdivisión la lleva a cabo dinàmicamente el sistema operativo y se
conoce como gestión de memoria.
En un sistema multiprogramado resulta vital una
gestión efectiva de la memoria. Si solo hay unos pocos procesos en memoria,
entonces la mayor parte del tiempo estarán esperando a la E/S y el procesador
estará desocupado. Por ello, hace falta repartir eficientemente la memoria para
meter tantos procesos como sea posible.
Requisitos para la gestión de memoria:
a. Re-ubicación: Un proceso después de dejar la memoria virtual puede re ubicarse a la memoria principal, no necesariamente a la misma ubicación.
b. Protección: Los procesos no deberían ser capaces de referenciar el espacio de memoria de otro proceso sin permiso, es posible comprobar las direcciones absolutas de los programas puesto que estos pueden ser re ubicados, deben ser traducidas durante la ejecución.
c. Compartición: Permite a varios procesos acceder a la misma zona de memoria, es mejor permitir a cada proceso a la misma copia del programa que tener cada uno su copia individual.
d. Organización Lógica: Deben ser llamados por registros de apuntador.
e. Organización Física: La memoria disponible para un programa y sus datos puede ser insuficiente, el programador no sabe cuanto espacio habrá disponible.
No hay comentarios.:
Publicar un comentario