You are on page 1of 4

ALGORITMOS DE PLANIFICACIN Los algoritmos de planificacin se utilizan para determinar cul de los procesos que estn en la cola de listos

deber recibir la CPU. Estos algoritmos son:


PLANIFICACIN FCFS (FIRST-COME, FIRST-SERVED) La planificacin FCFS (de servicio por orden de llegada o primero en llegar primero en ser atendido) es el algoritmo de planificacin de la CPU ms sencillo, fcil de escribir y entender, sin embargo, el tiempo de espera promedio suele ser muy largo. Con este tipo de planificacin el proceso que primero solicita la CPU es el que primero la recibe. La implementacin requiere la utilizacin de una cola FIFO, cuando la CPU queda libre es asignada al proceso que est a la cabeza de la cola, seguidamente el proceso en ejecucin se saca de la cola. Por no tener en consideracin el estado del sistema ni las necesidades de recursos de los procesos, la planificacin FCFS puede dar lugar a pobres rendimientos. Adems, como no existe distincin en base al servicio solicitado, los trabajos cortos pueden sufrir considerables retrasos en los tiempos de retorno y de espera cunado hay uno o ms procesos largos en el sistema. Con la planificacin FCFS se elimina la importancia de las prioridades de los procesos, puesto que los tiempos de llegada son el nico criterio de planificacin. PLANIFICACIN SJF (SHORTEST JOB FIRST) Es una tcnica en la que la siguiente entidad de planificacin, trabajo o proceso, se selecciona sobre la base del menor tiempo de ejecucin restante, tambin conocido como rfaga de CPU. Cada vez que se invoca al planificador SJF, ste busca en la correspondiente cola (de lotes o de listos) el trabajo o proceso con el menor tiempo de ejecucin restante para asignarle la CPU, si hay dos procesos con igual tiempo restante se emplea la planificacin FCFS. El algoritmo SJF puede ser expropiativo o no expropiativo. Si un proceso nuevo llega a la cola de procesos listos y con tiempo restante menor que lo que falta por ejecutar del proceso que actualmente tiene la CPU, un algoritmo SJF expropiativo desalojar al proceso que se est ejecutando mientras uno no expropiativo permitir que termine su rfaga de CPU actual. La dependencia sobre el conocimiento futuro de cada rfaga de CPU tiende a limitar en la prctica la efectividad de este tipo de planificacin ya que en general el comportamiento futuro del proceso es desconocido y difcil de estimar fiablemente aunque podra hacerse una estimacin basndose en las rfagas anteriores.

La planificacin SJF se usa a menudo en la planificacin a largo plazo, aunque es un algoritmo ptimo no se implementar en el nivel de la planificacin a corto plazo.

PLANIFICACIN POR PRIORIDAD Las prioridades pueden ser estticas o dinmicas, en ambos casos sus valores iniciales son asignados por el usuario o por el sistema en el momento de la creacin del proceso. Las prioridades se pueden definir interna o externamente, en el primer caso se utiliza uno o ms parmetros medibles para calcular la prioridad del proceso (necesidades de memoria, nmero de archivos abiertos, etc.), las prioridades externas se fijan empleando criterios externos al sistema operativo (importancia del proceso, departamento que patrocina el trabajo y otros factores de carcter poltico). La planificacin por prioridad puede ser expropiativa o no expropiativa, cuando un proceso llega a la cola de procesos listos su prioridad se compara con la del proceso que se ejecutando, en la expropiativa si el proceso recin llegado tiene una prioridad mayor se apropiar de la CPU, en la planificacin por prioridad no expropiativa el nuevo proceso se coloca a la cabeza de la cola. Un flujo continuo de procesos de mayor prioridad puede dejar a un proceso de baja prioridad esperando indefinidamente la CPU, en general pueden ocurrir dos cosas, el proceso se ejecuta finalmente, o el sistema de computacin pierde en algn momento todos los procesos de baja prioridad inconclusos. Para solucionar este problema emplea la denominada prioridad de envejecimiento, que consiste en aumentar gradualmente la prioridad de los procesos que esperan mucho tiempo en el sistema de tal forma que puedan llegar a la prioridad ms alta del sistema y ejecutarse. PLANIFICACIN RR (ROUND-ROBIN) La planificacin round-robin (por turno circular o por reparto de tiempo) es de carcter expropiativo, se dise especialmente para los sistemas de tiempo compartido. En la planificacin RR se define una unidad de tiempo pequea llamada quantum de tiempo o porcin de tiempo, la cola de procesos listos de estructura FIFO es tratada de forma circular. La implementacin de este tipo de planificacin requiere el soporte de un temporizador de intervalos, preferiblemente uno dedicado. El temporizador se programa generalmente para que interrumpa al sistema operativo cada vez que expire un quantum de tiempo forzando as la invocacin del planificador. El planificador de la CPU recorre la cola de procesos listos asignando el procesador por un tiempo no mayor al quantum de tiempo definido; si el proceso tiene una rfaga de CPU ms corta que el quantum de tiempo, el proceso mismo libera la CPU voluntariamente y el planificador la asigna al proceso siguiente en la cola; en caso contrario el temporizador terminar y generar una interrupcin para el sistema operativo, se efectuar una conmutacin de contexto, el proceso desalojado se colocar al final de la cola y se escoger al siguiente proceso en la cola. La planificacin por reparto de tiempo logra una comparticin equitativa de los recursos del sistema, adems el tiempo de respuesta de los procesos largos es directamente proporcional a sus necesidades de recursos.

PLANIFICACIN CON COLAS DE MLTIPLES NIVELES Con este algoritmo de planificacin la cola de procesos listos es divida en varias colas distintas, los procesos se asignan a una cola con base en alguna propiedad del proceso, como tamao en memoria, prioridad o tipo de proceso. Cada cola cuenta con su propio algoritmo de planificacin. Entre las tcnicas empleadas para planificar entre las colas estn las de utilizar prioridades absolutas o dividir el tiempo. Con la primera tcnica los procesos de la cola de mxima prioridad obtienen el servicio hasta que la cola quede vaca. Si se emplea la divisin de tiempo entre las colas, cada cola obtiene cierta porcin del tiempo de la CPU, que deber repartirse entre los procesos de la cola. PLANIFICACIN CON REALIMENTACIN COLAS DE MLTIPLES NIVELES Y

Presenta cierta flexibilidad con respecto a la planificacin con colas de mltiples niveles, ya que permite a un proceso pasar de una cola a otra tomando en cuenta sus rfagas de CPU, de esta manera si un proceso gasta demasiado tiempo de procesador ser trasladado a una cola de menor prioridad, as mismo si un proceso espera demasiado tiempo en una cola de baja prioridad podra pasarse a una de mayor prioridad. Este tipo de planificacin est definido por los siguientes parmetros: Nmero de colas. Algoritmo de planificacin para cada cola. Mtodo empleado para trasladar un proceso a una cola de mayor prioridad. Mtodo empleado para trasladar un proceso a una cola de menor prioridad. Mtodo empleado para determinar a qu cola ingresar un proceso cuando necesite servicio.

La planificacin con colas de mltiples niveles y realimentacin es el algoritmo ms general, puesto que puede adaptarse a cualquier sistema que se est diseando, sin embargo es tambin el ms complejo porque se requiere seleccionar valores para todos los parmetros.

You might also like