martes, 26 de noviembre de 2013

Algoritmos de planificación.

Los algoritmos de planificación son los siguientes:

FCFS (first come first serverd)

Este método se conoce también como “primero en entrar, primero en salir”.
Es una política no apropiativa.

Cuenta con el inconveniente de que sus prestaciones son bastante pobres, pues si se asigna un trabajo largo a la CPU, todos los demás permanecen a la espera, por lo que se retienen los procesos cortos, es decir, se produce el efecto convoy.

Sin embargo, si aplicamos prioridades a los procesos, los cortos entraran si tienen una mayor prioridad, pues se tendrá en cuenta el orden de llegada.

La ventaja sería que los procesos con prioridad se ejecutarían sin problemas.
El inconveniente es la posibilidad de que los procesos entren en un estado de inanición y nunca lleguen a ejecutarse.

SJF (shortest job first)

Este algoritmo se basa en ejecutar primero los procesos de menor tamaño, y en caso de que haya dos iguales, se prioriza el que llegó antes al sistema.

Es un algoritmo no apropiativo.

Una de las ventajas es que con este método el tiempo de espera medio se reduce, sin embargo, el inconveniente que presenta este algoritmo es que en la vida real tendríamos que intentar predecir el tiempo que un proceso tarda en ejecutarse en función de tiempos de referencia tomados de ejecuciones anteriores.

SRT (shortest remaining time first)

La evolución lógica será convertir el algoritmo anterior en apropiativo.
Para ello tenemos en cuenta el tiempo restante de ejecución y no el tiempo inicial.

Las ventajas de este algoritmo son su eficiencia y su excelente tiempo medio de servicio.
El inconveniente es que es injusto, pues una serie de procesos cortos quitan repetidamente el procesador a uno largo que a la vez lo está usando y está terminando.

RR (round-robbin)

Se trata de un algoritmo apropiativo.
El diseño del algoritmo RR consiste en definir una unidad de tiempo llamada quantum.
Los procesos ya no pelean por los recursos si no que estos se asignan equitativamente a todos ellos por turnos, los cuales finalizan cuando lo indique el quantum.

Se pueden dar dos casos:
- Que el proceso requiera menos tiempo que el quantum asignado.
- Que el proceso requiera más tiempo que el quantum asignado.

El inconveniente de este método es que cuando finalizan los quantums nos encontramos con una interrupción procedente del temporizador que provoca que haya que salvar todos los registros del proceso antiguo y restaurar los del nuevo. Es lo que se conoce como cambio de contexto. Además, si el proceso es demasiado corto el sistema puede llegar a bloquearse.

La ventaja de este algoritmo es que se establecen turnos equitativos entre las colas de menor prioridad, por lo que todos los procesos pueden avanzar y finalizarse.