Sistemas Operativos
carlotamorales3 de Noviembre de 2011
5.237 Palabras (21 Páginas)341 Visitas
Administración de Memoria
3.1 Política y Filosofía
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.
Políticas
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 política FIFO actualmente no se usa como el esquema principal de un sistema, pero si por ejemplo cuando se usa una política de prioridades y hay procesos con la misma prioridad, a estos se les podría aplicar FIFO. (Ver figura (3.1.1))
Figura 3.1.1
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. (Ver figura(3.2.2))
Figura 3.1.2
SJF (Shortest job first - Prioridad del trabajo más corto): Se ejecuta primero el proceso en espera que tiene el menor tiempo estimado. SJF favorece a los procesos cortos, ya que los largos podrían llegar a rezagarse mucho tiempo e incluso nunca ejecutarse. (Ver Figura(3.1.3))
Figura 3.1.3
SRT (Sortest remaining time scheduling) Tiempo restante mas corto. En SJF una vez que un proceso comienza su ejecución continúa hasta terminar. En SRT, un proceso en ejecución puede ser desposeído por uno nuevo de menor tiempo de ejecución. (Ver Figura(3.1.4))
Figura 3.1.4
HRN: (highest response ratio next) Prioridad de la tasa de respuesta mas alta: Política no apropiativa que corrige el retraso excesivo de procesos grandes que produce el SJF, para así 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 está en función del tiempo de servicio sino también del tiempo que ha esperado para ser atendido.(Ver Figura(3.1.5))
Figura 3.1.5
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 más rápido acceso.
Solo la memoria cache es más 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. (Ver la figura 3.2.1)
Los términos “memoria” y “almacenamiento” se consideran equivalentes.
Los programas y datos deben estar en el almacenamiento principal para:
• Poderlos ejecutar.
• Referenciarlos directamente
3.2.1 Administración de almacenamiento
¿Cómo se maneja la administración de almacenamiento?
Para que un sistema informático sea cómodo para los usuarios, el sistema operativo proporciona una lista lógica y uniforme del sistema de almacenamiento de la información. El sistema operativo abstrae las propiedades físicas de los dispositivos de almacenamiento y define una unidad de almacenamiento lógico, el archivo.
El sistema operativo asigna los archivos a los soportes físicos y accede a dichos archivos a través de los dispositivos de almacenamiento.
Almacenamiento del sistema de archivos
La gestión de archivos es uno de los componentes más visibles de un sistema operativo. Las computadoras pueden almacenar la información en diferentes tipos de medios físicos. Los discos magnéticos, discos ópticos y cintas magnéticas son habituales. .
Cada uno de estos medios tiene sus propias características y organización fisica. Cada medio se controla mediante un dispositivo, tal como una unidad de disco o una cinta, que también tiene sus propias características distintivas
Estas propiedades incluyen la velocidad de acceso, la capacidad, la velocidad de transferencia de datos y el método de acceso (secuencial o aleatorio).
Un archivo es una colección de información relacionada definida por su creador. Comúnmente, los archivos representan programas (tanto en formato fuente como en objeto) y datos. Los archivos de datos pueden ser numéricos, alfabéticos, alfanuméricos o binarios. Los archivos pueden tener un formato libre (como, por ejemplo, los archivos de texto) o un formato rígido, como por ejemplo una serie de campos fijos.
3.2.2 Jerarquía
Los programas y datos tienen que estar en la memoria principal para poder ejecutarse y ser referenciados.
Los programas y datos que no son necesarios de inmediato pueden mantenerse en el almacenamiento secundario.
El almacenamiento principal es mas costoso y menor que el secundario pero de acceso mas rápido.
Los sistemas con varios niveles de almacenamiento requieren destinar recursos para administrar el movimiento de programas y datos entre niveles.
Un nivel adicional es el “cache” 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 mas de traspaso:
o Los programas son traspasados de la memoria principal al cache antes de su ejecución.
• Los programas en la memoria cache ejecutan mucho más rápido que en la memoria principal.
• Al utilizar memoria cache se espera que:
o 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 mas rápida en la cache.
3.2.3 Estrategias de Administración de Memoria
Están dirigidas a la obtención del mejor uso posible del recurso del almacenamiento principal.
Se dividen en las siguientes categorías:
• Estrategias de búsqueda:
o Estrategias de búsqueda por demanda.
o Estrategias de búsqueda anticipada.
• Estrategias de colocación.
• Estrategias de reposición.
Las “estrategias de búsqueda” están relacionadas con el hecho de cuando obtener el siguiente fragmento de programa o de datos para su inserción en la memoria principal.
En la “búsqueda por demanda” el siguiente fragmento de programa o de datos se carga al almacenamiento principal cuando algún programa en ejecución lo referencia.
Se considera que la “búsqueda anticipada” puede producir un mejor rendimiento del sistema.
Las “estrategias de colocación” están relacionadas con la determinación del lugar de la memoria donde se colocara (cargara) un programa nuevo.
Las “estrategias de reposición” están relacionadas con la determinación de que fragmento de programa o de datos desplazar para dar lugar a los programas nuevos.
3.2.4 Asignación continua VS No continua
Qué es la administración contigua y no contigua?
En la “asignación contigua” cada programa ocupa un bloque contiguo y sencillo de localizaciones de almacenamiento.
Asignación contigua de almacenamiento de un solo usuario
Se consideran S. O. que ya poseen desarrollado el
“sistema de control de entrada / salida”: IOCS: input / output control system (ver Figura 3.2.4.1):
El tamaño de los programas está limitado por la cantidad de memoria principal, pero se puede superar este límite con técnicas de “recubrimientos”, con las siguientes características.
• Si una sección particular del programa ya no es necesaria, se carga otra sección desde el almacenamiento secundario ocupando las áreas de memoria liberadas por la sección que ya no se necesita.
• La administración manual por programa del recubrimiento es complicada y dificulta el desarrollo y el mantenimiento.
Figura 3.2.4.2
En la “asignación no contigua” un programa se divide en varios bloques o “segmentos” que pueden almacenarse en direcciones que no tienen que ser necesariamente adyacentes, por lo que es mas compleja pero mas eficiente que la asignación continua.
...