martes, 28 de octubre de 2008

2.6.5 MultiLevel Feedback Queves

De acuerdo con Silbertschatz C. (1999) , el algoritmo de planificación mediante colas multinivel realimentadas permite mover un proceso de una cola a otra. La idea es separar los procesos en función de las características de sus ráfagas de CPU. Si un proceso utiliza demasiado tiempo de CPU, se pasa a una a de prioridad más baja. Este esquema deja los procesos limitados por E/S y los procesos interactivos en las colas de prioridad más alta. Además, un proceso que esté esperando demasiado tiempo en una cola de baja prioridad puede pasarse a una cola de prioridad más alta. Este mecanismo de envejecimiento evita el bloqueo indefinido.

En el ejemplo que nos da Silbertschatz C. (1999), se considera un planificador de colas multinivel realimentadas con tres colas, numeradas de 0 a 2 (Figura 5.7). En primer lugar, el planificador ejecuta todos los procesos de la cola 0. Solo cuando la cola 0 este vacia ejecutara procesos de la cola 1. De forma similar, los procesos de la cola 2 solo se ejecutaran si las colas 0 y 1 estan vacias. Un proceso que llegue a la cola 1 desalojara a un proceso de la cola 2 y ese proceso de la cola 1 sera, a su vez, desalojado por un proceso que llegue a la cola 0.

Silbertschatz, C. (1999). Sistemas operativos (5ta ed.) (pp. 139-140) México: Pearson

2.6.4 QuevesMultilevel

En el concepto que nos da Silbertschatz C. (1999), un algoritmo de planificacion mediante colas multinivel divide la cola de procesos preparados en varias colas distintas . Los procesos se asignan permanentemente a una cola, generalmente en función de alguna propiedad del proceso, como por ejemplo el tamaño memoria, la prioridad del proceso o el tipo de proceso. Cada cola tiene su propio algoritmo de planificación. Por ejemplo, pueden emplearse colas distintas para los procesos de primer plano y de segundo plano. La cola de primer plano puede planificarse mediante un algoritmo por turnos, mientras que para la cola de segundo plano puede emplearse un algoritmo FCFS.

Silbertschatz, C. (1999). Sistemas operativos (5ta ed.) (pp. 138-139) México: Pearson

2.6.3 Rr

De acuerdo a Silbertschatz C. (1999), los procesos se despachan en “FIFO” y disponen de una cantidad limitada de tiempo de cpu, llamada “división de tiempo” o “cuanto”.
Según Silbertschatz C. (1999), cada proceso recibe una fracción de tiempo de procesamiento o quanto para su ejecución, de manera que cuando se está ejecutando y excede el tiempo que se le ha concedido, se genera una interrupción de reloj, mediante la cual la ejecución del proceso se detiene y se coloca al proceso al final de la cola de procesos ‘listos’ para su posterior ejecución, seleccionándose a continuación un nuevo proceso de la cola para su ejecución. Si un proceso finaliza su ejecución antes de que termine el tiempo que se le ha asignado, este cede el control, seleccionándose un nuevo proceso de la cola para su ejecución.

Silbertschatz, C. (1999). Sistemas operativos (5ta ed.) (pp. 135-138) México: Pearson

2.6.2 Sjf

Otro metodo de planificacion de la CPU es el algoritmo de planificacion con seleccion del trabajo mas corto (SJF, shortest job-first). Este algoritmo asocia con cada proceso la duracion de la siguiente ráfaga de CPU del proceso. Cuando la CPU esta disponible, se asigna al proceso que tiene la siguiente rafaga de CPU mas corta. Si las siguientes rafagas de CPU de dos procesos son iguales, se usa la planificación FCFS para romper el empate. Observe que un termino mas apropiado para este método de planificación seria el de algoritmo de la siguiente rafaga de CPU mas corta, ya que la planificacion depende de la duracion de la siguiente rafaga de CPU de un proceso, en lugar de depender de su duracion total. Usamos el termino SJF porque casi todo el mundo y gran parte de los libros de texto emplean este termino para referirse a este tipo de planificacion.

Silbertschatz, C. (1999). Sistemas operativos (5ta ed.) (pp. 130-133) México: Pearson

2.6.1 Fifo

De acuerdo a la definicion de Silbertschatz C. (1999). FIFO Guarda analogía con las personas que esperan en una cola y van siendo atendidas en el orden en que llegaron, es decir, que la primera persona que entra es la primera persona que sale.
Los procesos se despachan de acuerdo con su tiempo de llegada a la cola de procesos listos. Cuando un proceso tiene la CPU, se ejecuta hasta terminar. Es junto en el sentido formal, pero algo injusta en cuanto a que los trabajos largos hacen esperar a los cortos y los trabajos sin importancia hacen esperar a los importantes. Este es un algoritmo que no usa apropiación, y que consiste en atender a los procesos por estricto orden de llegada a la lista de procesos listos.

Las características principales de este algoritmo son las siguientes:

  • No es apropiativa.
  • Es justa, aunque los procesos largos hacen esperar mucho a los cortos.
  • Es una politica predecible.
  • El tiempo promedio de servicio es muy variable ya que esta en funcion del numero de procesos y la duracion promedio que tenga.
Silbertschatz, C. (1999). Sistemas operativos (5ta ed.) (pp. 129-130) México: Pearson

2.6 Técnicas Administración del Planificador

Según la definición de Silbertschatz C. (1999), el planificador es un componente funcional muy importante de los sistemas operativos multitarea y multiproceso, y es esencial en los sistemas operativos de tiempo real. Su función consiste en repartir el tiempo disponible de un microprocesador entre todos los procesos que están disponibles para su ejecución.

Silbertschatz, C. (1999). Sistemas operativos (5ta ed.) (pp. 129) México: Pearson

2.5 Niveles Objetivos Criterios Planificación

Basandonos en el concepto de Silbertschatz C. (1999), La planificación hace referencia a un conjunto de políticas y mecanismos incorporados al sistema operativo que gobiernan el orden en que se ejecutan los trabajos que deben ser cumplimentados por el sistema informático. Se consideran tres niveles importantes de planificación, los que se detallan a continuación:

  • Planificación de alto nivel: Se encarga de llevar procesos de disco a memoria y viceversa. Seleccionando los trabajos que deben admitirse en el sistema.
  • Planificación de nivel intermedio: En algunos casos, en especial cuando el sistema está sobrecargado, el planificador de nivel medio encuentra ventajoso retirar trabajos activos de la memoria para reducir el grado de multiprogramación, y por lo tanto, permitir que los trabajos se completen mas aprisa.
  • Planificación de bajo nivel: Se encarga de pasar de un proceso a otro en memoria principal. Determinando a cuál proceso listo se le asignará el CPU cuando éste se encuentra disponible. O Determina a qué proceso listo se le asigna la CPU cuando esta queda disponible y asigna la cpu al mismo, es decir que “despacha” la CPU al proceso.

Objetivo de la Planificacion
Según Silbertschatz C. (1999), el objetivo principal de la planificacion es optimizar el rendimiento del sistema y proporcionar un buen servicio a todos los procesos que se encuentren en el. En general, la planificacion trata de cubrir los siguientes objetivos:
  • Justicia. La planificacion debe ser lo mas justa posible con todos los procesos, sin favorecer a unos y perjudicar a otros.
  • Maxima capacidad de ejecucion. Debe dar un servicio eficiente para que todos los trabajos se realicen lo mas rapidamente posible. Esto se puede lograr disminuyendo el numero de cambios de proceso.
  • Maximo numero de usuarios interactivos. En los sistemas de tiempo compartido se tratara de que puedan estar trabajando el mayor numero de usuarios al mismo tiempo.
  • Predecibilidad. La planificación debe realizarse de tal forma que en todo momento pueda saberse como será su ejecución.
  • Minimización de la sobrecarga. La computadora debe tener poca sobrecarga ya que esta afecta directamente al rendimiento final del sistema: a menor sobrecarga mayor velocidad de proceso.
  • Equilibrio en el uso de recursos. Para obtener un mayor rendimiento en el uso de los recursos y que estos estén ocupados equitativamente el mayor tiempo posible.
  • Seguridad de las prioridades. Si un proceso tiene mayor prioridad que otro, este debe ejecutarse mas rápidamente.
  • Evitar la postergación indefinida. Esto se logra aumentando la prioridad de un proceso mientras espere por un recurso. La prioridad llegara a ser tan alta que al proceso le será asignado el recurso que pidió.

Criterios de la planeación del procesador

  • Equidad
  • Eficacia
  • Tiempo de respuesta
  • Tiempo de regreso
  • Rendimiento
Silbertschatz, C. (1999). Sistemas operativos (5ta ed.) (pp. 125-128) México: Pearson