La memoria física es un conjunto de celdas referenciales por medio de una dirección lineal, para que un programa se ejecute, su código y sus datos necesitan estar cargados en memoria
En un sistema multitarea, la memoria ha de repartirse entre los
diferentes procesos
Las rutinas del sistema operativo también deberán residir en memoria,
en todo o en parte
Puede ser que la memoria principal no tenga capacidad suficiente para
todos los procesos en ejecución
La gestión de memoria es conseguir
que varios procesos puedan ejecutarse de forma concurrente,
-
Evitando los conflictos de uso
-
Protegiendo al sistema operativo
-
Aprovechando eficazmente el espacio disponible:
-
Minimizar la memoria desaprovechada
-
Evitar fragmentación
-
Memoria ocupada por varias copias de un mismo
objeto
-
Memoria ocupada por las estructuras de datos
necesarias para la operación del gestor de memoria
-
Tiempo de acceso a memoria
Dirección física: la que llega al
chip de memoria
Dirección lógica o virtual: la
generada por la CPU
El dispositivo que traduce
direcciones virtuales a físicas se llama unidad de manejo de memoria (MMU, en
inglés)
El espacio de direcciones lógicas
y el espacio de direcciones físicas no tienen por qué coincidir
Todo proceso de memoria está
dividido en 4 regiones bloque de control de proceso programa o segmento de
código datos o segmento de pila pila o segmento de pila una vez terminado el
bloque de control de proceso es el inicio del programa lo que hace es saltar
del segmento del código al mismo segmento de código del proceso, cuando estoy
asignando me dirijo directamente al segmento de datos, la pila sirve para
guardar esos datos intermedios para el cálculo interior, pero al usuario no le
interesa saberlos, el proceso debe bloquearse para limpiar la pila, donde los
cálculos grandes requieren gran cantidad de memoria.
