GESTION DE MEMORIA PRINCIPAL
neiga15 de Febrero de 2014
3.706 Palabras (15 Páginas)357 Visitas
INTRODUCCION
La memoria es uno de los recursos vitales del sistema que debemos gestionar con precaución. El modulo del sistema operativo que se encarga de la gestión de la memoria es el administrador de la memoria. El gestor de memoria asigna esta a un proceso que la solicita y se la retira cuando acaba o cuando el proceso esta temporalmente inactivo para dejar espacio a otros procesos.
En nuestro modelo de estudio, el modulo de gestión de memoria es la capa siguiente a la del procesador. Se ha podido notar que sin memoria los procesos no pueden existir.
Por otra parte, la unidad de manejo de memoria, se dice que es un dispositivo de Hardware el cual esta formado por un grupo de circuitos integrados, responsable del manejo de los accesos a la memoria por parte de la Unidad de Procesamiento Central (CPU).
GESTION DE MEMORIA PRINCIPAL
Todo ordenador tiene una memoria principal que utiliza para albergar los programas en ejecución. En los sistemas operativos más sencillos, sólo hay un programa a la vez en la memoria. Para ejecutar un segundo programa, es preciso desalojar el primero y colocar el segundo en la memoria.
Los sistemas operativos algo más sofisticados permiten que haya varios programas en la memoria al mismo tiempo. Para evitar que se interfieran (y que interfieran con el sistema operativo), es necesario algún tipo de mecanismo de protección. Aunque este mecanismo tiene que estar en el hardware, es controlado por el sistema operativo. El punto de vista anterior tiene que ver con la gestión y la protección de la memoria principal del ordenador.
Un aspecto distinto, pero igualmente importante, relacionado con la memoria es la gestión del espacio de direcciones de los procesos. Normalmente, cada proceso tiene algún conjunto de direcciones que puede usar y que normalmente va desde 0 hasta algún máximo. En el caso más sencillo, la cantidad máxima de espacio de direcciones que tiene un proceso es menor que la memoria principal. De esa manera, un proceso puede llenar su espacio de direcciones habiendo suficiente espacio en la memoria principal para contenerlo. Sin embargo, en muchos ordenadores las direcciones son de 32 o 64 bits, lo que significa espacios de direcciones de 232 o 264 bytes, respectivamente. ¿Qué sucede si el espacio de direcciones de un proceso es mayor que la memoria principal del ordenador y el proceso quiere hacer uso de todo su espacio? En los primeros ordenadores no se podía ejecutar ese desafortunado proceso. Actualmente existe una técnica denominada memoria virtual, en la cual el sistema operativo mantiene una parte de su espacio de direcciones en la memoria principal y otra parte en el disco, y transfiere fragmentos entre ambos lugares según sea necesario. Esta importante función del sistema operativo, y otras relacionadas con la administración.
ORGANIZACIÓN DE LA MEMORIA
Históricamente el almacenamiento principal se ha considerado como un recurso costoso, por lo cual su utilización debía optimizarse. La memoria está dividida en primaria y secundaria. El traspaso de información entre éstas es la preocupación más grande del sistema; esta responsabilidad puede ser asignada al programador, pero esto sería una gran pérdida de tiempo, por esto el sistema debe ocuparse de ello.
Por organización del almacenamiento se entiende la manera de considerar este almacenamiento:
• ¿se coloca un solo programa de usuario o varios?.
• Si se encuentran varios programas de usuario:
• ¿se concede a cada uno la misma cantidad de espacio o se divide el almacenamiento en porciones o “particiones” de diferente tamaño?
• ¿se utilizará un esquema rígido de número y tamaño de particiones o un esquema dinámico y adaptable?
• ¿se requerirá que los trabajos de los usuarios sean diseñados para funcionar en una partición específica o se permitirá que se ejecuten en cualquiera donde quepan?
• ¿se requerirá o no que cada trabajo sea colocado en un bloque contiguo de memoria?
ADMINISTRACIÓN
Según Andrew S. Tanenbaum-1994. La memoria principal es el lugar donde el CPU lee las instrucciones a ejecutar, asi como algunos datos a emplear. Una de las funciones basicas que debe implementar un SO es la Administracion de la Memoria para tener un control sobre los lugares donde estan almacenados los procesos y datos que actualmente se estan utilizando. Independientemente del esquema de organización hay que decidir las estrategias que se utilizarán para optimizar el rendimiento. Se refiere a los distintos métodos y operaciones que se encargan de obtener la máxima utilidad de la memoria, organizando los procesos y programas que se ejecutan de manera tal que se aproveche de la mejor manera posible el espacio disponible.
Para poder lograrlo, la operación principal que realiza es la de trasladar la información que deberá ser ejecutada por el procesador, a la memoria principal. Actualmente esta administración se conoce como Memoria Virtual ya que no es la memoria física del procesador sino una memoria virtual que la representa. Entre algunas ventajas, esta memoria permite que el sistema cuente con una memoria más extensa teniendo la misma memoria real, con lo que esta se puede utilizar de manera más eficiente. Y por supuesto, que los programas que son utilizados no ocupen lugar innecesario.
Las técnicas que existen para la carga de programas en la memoria son:
• Partición fija:que es la división de la memoria libre en varias partes (de igual o distinto tamaño)
• Partición dinámica, que son las particiones de la memoria en tamaños que pueden ser variables, según la cantidad de memoria que necesita cada proceso.
Entre las principales operaciones que desarrolla la administración de memoria se encuentran
1. La reubicación: Que consiste en trasladar procesos activos dentro y fuera e la memoria principal para maximizar la utilización del procesador
2. La protección: Son mecanismos que protegen los procesos que se ejecutan de interferencias de otros procesos.
3. Uso compartido de códigos y datos: con lo que el mecanismo de protección permite que ciertos procesos de un mismo programa que comparten una tarea tengan memoria en común.
JERARQUÍA
Se refiere a los diferentes medios de almacenamiento. Pueden ser sólo dos: disco duro y disco óptico, o bien disco duro y cinta. Más usual son tres: disco duro, disco óptico y cinta. En todos los casos, los medios removibles se manejan en forma automática por los dispositivos robóticos correspondientes: un jukebox para discos ópticos, o bien una biblioteca automatizada o autocargardor para cinta.
Los programas y datos tienen que estar en la memoria principal para poder ejecutarse o ser referenciados. Los programas y datos que no son necesarios de inmediato pueden mantenerse en el almacenamiento secundario. El almacenamiento principal es más costoso y menor que el secundario pero de acceso más rápido.
Los sistemas con varios niveles de almacenamiento requieren destinar recursos para administrar el movimiento de programas y datos entre niveles (ver Figura).
Un nivel adicional es el “caché” o memoria de alta velocidad, que posee las siguientes características:
• Es más rápida y costosa que la memoria principal.
• Impone al sistema un nivel más de traspaso:
o Los programas son traspasados de la memoria principal al caché antes de su ejecución.
• Los programas en la memoria caché ejecutan mucho más rápido que en la memoria principal.
• Al utilizar memoria caché se espera que:
• La sobrecarga que supone el traspaso de programas de un nivel de memoria a otro sea mucho menor que la mejora en el rendimiento obtenida por la posibilidad de una ejecución mucho más rápida en la caché.
PARTICIONES
Particiones estáticas
Esta forma de gestión consiste en dividir la memoria en varias zonas, pudiendo ser cada zona de un tamaño diferente. Esto se ilustra en la figura 6.3. El tamaño de las zonas podrá ser modificado eventualmente por algún usuario responsable de la administración del ordenador.
Los trabajos se traducían mediante compiladores y ensambladores absolutos, para ejecutarse en una partición específica. Una vez introducido un proceso en una partición, permanece en ella hasta su finalización. Si un trabajo se iniciaba, y la partición para la que estaba compilado estaba ocupada, tenía que esperar, aunque estuvieran libres otras particiones. Esto provoca una pérdida de eficiencia.
Protección
Si se tiene el esquema hardware del registro base, para lograr la protección de las zonas de memoria basta con añadir un nuevo registro, denominado registro límite. Este registro guarda la última dirección de la partición, y forma también parte del PCB del proceso. El hardware, después de sumar el registro base a la dirección relativa, comprueba que la dirección obtenida no supere el valor del registro límite. Si se supera el valor, se está intentando acceder a una zona que no corresponde al proceso; en esta situación, el hardware genera una interrupción
Particiones dinámicas
En este método se va asignando la memoria dinámicamente a los procesos, conforme se introducen en la memoria. A cada proceso
...