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 procesos y datos
que actualmente se están utilizando.
Sea cual sea es
esquema de organización del almacenamiento que se adopte para un sistema
específico, es necesario decidir que estrategias se deben utilizar para obtener
un rendimiento óptimo .las estrategias de administración del almacenamiento
determinan el comportamiento de la administración de memoria cuando se siguen
ciertas políticas:
· ¿Cuándo se toma un
nuevo programa para colocarlo en memoria?
· ¿Se toma el
programa cuando el sistema lo solicita específicamente o se intenta anticiparse
a las particiones del sistema?
· ¿En que lugar del
almacenamiento principal se coloca el programa por ejecutar?
· ¿Se colocan los
programas lo más cerca unos de otros en los espacios disponibles de la memoria
principal para reducir al mínimo el
Desperdicio de espacio, o se colocan los
programas lo más rápido posible para reducir al mínimo el tiempo de ejecución?
· Si se necesita
colocar un nuevo programa en el almacenamiento principal y éste está lleno,
¿Cuál de los otros programas se desaloja?
Se han realizado sistemas
que utilizan cada una de estas estrategias de administración.
Los programas y datos
necesitan estar en el almacenamiento principal para ser ejecutados o para poder
hacer referencia de ellos. Los que no se necesitan de inmediato pueden
guardarse en el almacenamiento secundario.
Unix permite procesos
múltiples y en un proceso puede generar otro fácilmente. La planificación del
procesador usa un algoritmo basado en prioridades. La administración de memoria
es un algoritmo de regiones variables con intercambios. Inicialmente los
algoritmos realizados se eligieron por sencillez, no por velocidad ni
complejidad. El desarrollo inicial se hizo bajo un espacio muy pequeño de
memoria.
Los recursos de
memoria totales eran insuficientes para justificar algoritmos complejos, por lo
que UNIX intercambiaba el contenido en memoria de los procesos.
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.
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.
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 podrían llegar a rezagarse mucho tiempo e incluso nunca
ejecutarse.
SRT (Sortest
remaining time scheduling – Tiempo restante más corto): En SJF una vez que un
proceso comienza su ejecución continua hasta terminar. En SRT, un proceso en
ejecución puede ser desposeído por uno nuevo de menor tiempo de ejecución.
HRN: (highest
response ratio next – Prioridad de la tasa de respuesta más 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 esta en función del tiempo de
servicio sino también del tiempo que ha esperado para ser atendido.
No hay comentarios:
Publicar un comentario