3.1.- Administración de la memoria
- La administración de memoria 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) y la 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 la re ubicación, que consiste en trasladar procesos activos dentro y fuera e la memoria principal para maximizar la utilización del procesador; la protección, mecanismos que protegen los procesos que se ejecutan de interferencias de otros procesos; 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.
Filosofía:
- La memoria principal puede ser considerada como un arreglo lineal de localidades de almacenamiento de un byte de tamaño. Cada localidad de almacenamiento tiene asignada una dirección que la identifica.
- Una de las funciones básicas que debe implementar un SO es la Administración de la Memoria para tener un control sobre los lugares donde están almacenados los datos y procesos que actualmente se están utilizando.
- Sea cual sea es esquema de organización del almacenamiento que se adopte para un sistema especifico es necesario decidir que estrategias se deben utilizar para obtener un rendimiento optimo.
- FIFO: Los procesos se despachan de acuerdo a su tiempo de llega a la cola de procesos listos, si un proceso llega al procesador sale hasta que termine. La politica FIFO actualmente no se usa como el esquema principal de un sistema, pero si por ejemplo cuando se usa una politica de prioridades y hay procesos con la misma prioridad, a estos se les podria aplicar FIFO.
- Round Robin: Los procesos se despachan en la forma que lo hace el FIFO, pero se les asigna una cantidad limitada de tiempo (CUANTUM) en el procesador, si no termina en ese lapso se manda al final de la lista de procesos listos.
- SRT (Sortest remaining time scheduling ? Tiempo restante mas corto. En SJF una vez que un proceso comienza su ejecucion continua hasta terminar. En SRT, un proceso en ejecucion puede ser desposeido por uno nuevo de menor tiempo de ejecucion.
- SJF (Shortest job first - Prioridad del trabajo mas corto): Se ejecuta primero el proceso en espera que tiene el menor tiempo estimado. SJF favorece a los procesos cortos, ya que los largos podrian llegar a rezagarse mucho tiempo e incluso nunca ejecutarse.
- HRN: (highest response ratio next ? Prioridad de la tasa de respuesta mas alta): Politica no apropiativa que corrige el retraso excesivo de procesos grandes que produce el SJF, para asi no caer en un favoritismo excesivo por los procesos cortos, lo logra usando una formula basada en el tiempo de espera y el tiempo de servicio, con lo cual la prioridad de cada trabajo no solo esta en funcion del tiempo de servicio sino tambien del tiempo que ha esperado para ser atendido.
3.2.- Memoria Real
- La memoria real o principal es en donde son ejecutados los programas y procesos de una computadora y es el espacio real que existe en memoria para que se ejecuten los procesos.
- Por lo general esta memoria es de mayor costo que la memoria secundaria, pero el acceso a la información contenida en ella es de mas rápido acceso.
- Solo la memoria cache es mas rápida que la principal, pero su costo es a su vez mayor.
- Cuando no existe memoria virtual no hay diferenciación entre el espacio de direcciones y la memoria real; el espacio de direcciones que puede ser usado en los programas tiene idéntico tamaño al espacio de memoria real posible. Si se utiliza memoria virtual, el espacio de direcciones disponibles para los programas es aquel determinado por el tamaño de la memoria virtual implementada y no el espacio de direcciones provisto por la memoria real disponible (el espacio de la memoria virtual será mayor que el de la memoria real).
- La organización y administración de la “memoria principal”, “memoria primaria” o “memoria real” de un sistema ha sido y es uno de los factores mas importantes en el diseño de los S. O.
- Almacenamiento virtual significa la capacidad de dirección ar un espacio de almacenamiento mucho mayor que el disponible en el almacenamiento primario de determinado sistema de computación.
- Esta tecnología apareció en 1960 en la Universidad de Manchester (Inglaterra), en el sistema “Atlas”.
- La ilusión de la memoria virtual está soportada por el mecanismo de traducción de memoria, junto con una gran cantidad de almacenamiento rápido en disco duro. Así en cualquier momento el espacio de direcciones virtual hace un seguimiento de tal forma que una pequeña parte de él, está en memoria real y el resto almacenado en el disco, y puede ser referencia do fácilmente.
- Debido a que sólo la parte de memoria virtual que está almacenada en la memoria principal, es accesible a la CPU, según un programa va ejecutándose, la proximidad de referencias a memoria cambia, necesitando que algunas partes de la memoria virtual se traigan a la memoria principal desde el disco, mientras que otras ya ejecutadas, se pueden volver a depositar en el disco (archivos de paginación).
Los métodos más comunes de implementación
son mediante:
- Técnicas de paginación.
- Técnicas de segmentación.
- Una combinación de ambas técnicas.
3.4.- Administración de la Memoria Virtual
La clave del concepto de memoria
(almacenamiento) virtual esta en la disociación:
- De las direcciones a las que hace referencia un programa.
- De las direcciones disponibles en la memoria real (almacenamiento primario).
- Mientras el proceso se ejecuta con sus páginas actuales, el sistema carga las demás páginas que estarán disponibles cuando las requiera el proceso.
- El S. O. intenta predecir las páginas que un proceso va a necesitar y a continuación precarga estas páginas cuando hay espacio disponible Mientras el proceso ejecuta sus páginas actuales, el sistema carga páginas nuevas que estarán disponibles cuando el proceso las pida, debido a ello, el tiempo de ejecución de un proceso se puede reducir.
- Es un método mediante el cual, un sistema operativo simula tener más memoria principal que la que existe físicamente. Para implementar la memoria virtual se utiliza un medio de almacenamiento secundario de alta velocidad de acceso, generalmente en disco duro de la maquina. Un sistema de memoria virtual se implementa utilizando paginación como método de administración de memoria básica y algún mecanismo de intercambio (para descargar paginas dela memoria principal hacia el disco duro y para cargar esas paginas de nuevo ala memoria).La memoria virtual es una técnica para proporcionar la simulación de un espacio de memoria mucho mayor que la memoria física de una maquina.
- Esta “ilusión” permite que los programas se hagan sin tener en cuenta el tamaño exacto de la memoria física. La ilusión de la memoria virtual esta soportada porel mecanismo de traducción de memoria, junto con una gran cantidad de almacenamiento rápido en disco duro.
- Así en cualquier momento el espacio de direcciones virtual hace un seguimiento de tal forma que una pequeña parte de el, esta en memoria real el resto almacenado en el disco, y puede ser referenciado fácilmente.
ESTRATEGIAS
DE COLOCACIÓN EN ALMACENAMIENTO
Estrategias del mejor ajuste:
- Un trabajo que entre en el sistema se colocará en el espacio vació del almacenamiento principal en el que quepa mejor y que deje la menor cantidad posible de espacio sin utilizar.
Estrategias del primer ajuste:
- Un trabajo que entre en el sistema se colocara en el almacenamiento principal en el primer vació disponibles lo bastante grande para contenerlo.
Estrategias del peor ajuste:
- Consiste en colocar un programa en el almacenamiento primario en el espacio vació donde peor se ajusta es decir en el espacio más grande posible.
No hay comentarios:
Publicar un comentario