jueves, 17 de octubre de 2013

Gestión de la memoria


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.