You are on page 1of 10

ADMISTRACIN DE LA MEMORIA

LA ORGANIZACIN Y GESTIN DE LA MEMORIA. CONCEPTOS GENERALES.


Para que un proceso pueda ejecutarse debe estar ubicado en la memoria principal del ordenador. Una parte del sistema operativo se va a encargar de gestionar la memoria principal, de forma que los procesos puedan residir en la memoria sin conflictos. La gestin de la memoria implica varias tareas, una de ellas es llevar un registro de qu zonas estn libres (es decir, no estn siendo utilizadas por ningn proceso), y qu zonas estn ocupadas por qu procesos. Otra tarea importante surge en sistemas en los que no todos los procesos, o no todo el cdigo y datos de un proceso, se ubican en la memoria principal.

LA ORGANIZACIN Y GESTIN DE LA MEMORIA. CONCEPTOS GENERALES.


Otros dos temas importantes en la gestin de la memoria son el de la carga de los programas de disco a memoria y el de la proteccin.
Desde el momento en que varios procesos deben compartir la memoria del ordenador surge el problema de la proteccin. En general, se pretende que un proceso no pueda modificar las direcciones de memoria en las que no reside. Esto es as ya que en las direcciones de memoria donde no est ubicado el proceso pueden residir otros procesos, o cdigo o estructuras de datos del S.O. Si un proceso puede modificar indiscriminadamente la memoria, podra, por ejemplo, cambiar el valor de una direccin de memoria donde residiera una variable de otro proceso, con la consecuente ejecucin incorrecta del proceso propietario de la variable.

JERARQUA DE LA MEMORIA

Los programas y datos necesitan estar en la memoria principal para ser ejecutados, o para poder ser referenciados. Los programas o datos que no se necesitan de inmediato pueden guardarse en la memoria secundaria hasta que se necesiten, y en ese momento se transfieren a la memoria principal para ser ejecutados o referenciados. Los soportes de memoria secundaria, como cintas o discos, son en general menos caros que la memoria principal, y su capacidad es mucho mayor.

Normalmente, es mucho ms rpido el acceso a la memoria principal que a la secundaria.

JERARQUA DE LA MEMORIA
En los sistemas con varios niveles de memoria hay muchas transferencias constantes de programas y datos entre los distintos niveles. Estas transferencias consumen recursos del sistema, como tiempo de la CPU, que de otro modo podran utilizarse provechosamente.

GESTIN DE LA MEMORIA EN LOS SISTEMAS MONOPROGRAMADOS


En los sistemas de monoprogramacin slo existe un proceso de usuario, que disfruta de todos los recursos del ordenador.

Esto va a simplificar notablemente la gestin de la memoria, ya que sta slo debe ser compartida por los programas del sistema operativo, y por el nico proceso de usuario existente.
Esto se muestra en la siguiente figura.

Dependiendo de detalles de diseo, el sistema operativo ocupar la parte baja de la memoria RAM, como se muestra en la figura (a); o la parte alta de la memoria ROM, como se muestra en la figura (b). El PC de IBM ubica parte del sistema operativo en RAM, y los gestores de dispositivos en ROM; a esta ltima parte se le llama BIOS (Basic Input/Output System, sistema bsico de entrada/salida), esto ltimo se ilustra en la figura (c).

GESTIN DE LA MEMORIA EN LOS SISTEMAS MONOPROGRAMADOS

GESTIN DE LA MEMORIA EN LOS SISTEMAS MONOPROGRAMADOS


Si el usuario conoce la ubicacin en la memoria del sistema operativo, entonces puede escribir programas en trminos de direcciones absolutas de memoria. Una direccin absoluta de memoria es una direccin fsica (es decir, real) de la memoria. En contraposicin se tienen las direcciones relativas. Un programa est escrito en trmino de direcciones relativas cuando se escribe suponiendo que empieza a cargarse en la direccin cero de la memoria. Por lo general, los usuarios escriben programas en lenguajes de alto nivel, por lo que son los traductores los encargados de generar las direcciones que ocupan las variables, procedimientos, etc, en la memoria. Los compiladores no generan direcciones absolutas de memoria, pues no saben dnde se almacenarn los procesos.

GESTIN DE LA MEMORIA EN LOS SISTEMAS MULTIPROGRAMADOS


En un sistema de multiprogramacin la memoria debe ser compartida por varios procesos de cara a obtener una mayor utilizacin de los recursos del ordenador. Esto provoca que la gestin de la memoria se complique sustancialmente. En primer lugar, hay que llevar un recuento de las zonas de memoria ocupadas por los procesos.

As, cuando un nuevo proceso entre en la memoria se le asignar una zona que estaba libre.
Otro problema a resolver viene dado por el hecho de que en el momento de escribir un programa no se sabe en qu zona de memoria se ubicar, siendo posible que durante la vida de un proceso ste cambie varias veces de emplazamiento. Habr que tener en cuenta, tambin, la proteccin de las zonas de memoria ocupadas por los procesos, mxime en sistemas multiusuario donde los procesos pueden pertenecer a distintos usuarios.

ASIGNACIN DE MEMORIA CONTIGUA

En un esquema de asignacin de memoria contigua un proceso se ubica en su totalidad en posiciones consecutivas de memoria. Un ejemplo de este tipo de asignacin es el utilizado en los sistemas de monoprogramacin vistos previamente.

ASIGNACIN DE MEMORIA NO CONTIGUA.


Hasta ahora se han estudiado esquemas de administracin de la memoria en los que los procesos se almacenan en posiciones contiguas (consecutivas) de memoria. Sin embargo, un proceso puede dividirse en bloques, y estos bloques pueden situarse en posiciones no contiguas de memoria principal.

Es ms, no es preciso que se encuentren en la memoria todos los bloques de un proceso para que se pueda ejecutar, basta con que se encuentren los bloques que contienen cdigo o datos actualmente referenciados, el resto puede permanecer en memoria secundaria.

You might also like