Algoritmos De Planificacion
Enviado por SPAG • 9 de Marzo de 2014 • 872 Palabras (4 Páginas) • 234 Visitas
Algoritmos de planificación
Parámetros
Cuando tenemos más de un proceso en condiciones de ejecutar, debemos escoger uno de entre ellos. Para escogerlo empleamos un algoritmo de planificación. Estos algoritmos pueden usar prioridades. En este caso a cada proceso se le asigna una prioridad y los procesos de mayor prioridad tendrán preferencia sobre los de menos. La prioridad de un proceso se puede modificar a lo largo de su vida, para evitar que un proceso de baja prioridad nunca llegue a ejecutarse debido a que los de alta prioridad monopolizan el procesador.
Otra característica de un algoritmo de planificación es la expropiación. Podemos definir un algoritmo de planificación como expropiativo si podemos retirar un proceso que se está ejecutando para introducir otro nuevo.
Prioridad
En muchos sistemas, los procesos tienen prioridades asignadas, y el planificador escogerá aquel proceso con mayor prioridad.
Cuando un proceso debe ser seleccionado, el planificador por prioridades seleccionará aquel proceso que tenga mayor prioridad. Si hay más de un proceso entonces se deberá seguir alguna política de selección.
Un problema que presenta un esquema de planificación por prioridades puro es que los procesos con la prioridad más baja pueden sufrir de inanición o bloqueo indefinido. Un proceso que está listo para correr pero espera porque siempre hay procesos con prioridad más alta.
Para evitar este problema, se puede ir incrementando gradualmente la prioridad de los procesos (envejecimiento).
SJF es un caso especial de planificación por Prioridad, donde la prioridad es el inverso del valor estimado del próximo ciclo de CPU ( a menor ciclo, mayor prioridad).
Proceso Tiempo de llegada Prioridad Tiempo de Servicio Tiempo de Comienzo Tiempo de Finalización Turnaround Tiempo de Espera
A 0 2 8 0 8 8 0
B 1 1 4 22 26 26-1=25 22-1=21
C 2 4 9 8 17 17-2=15 8-2= 6
D 3 2 5 17 22 22-3=19 17-3=14
Promedio 16.75 10.25
Este algoritmo puede ser preemptive y nonpreemptive. En el caso de preemptive, cuando un proceso llega a la cola de procesos listos, su prioridad es comparada con la prioridad del proceso que está corriendo. Si la prioridad del nuevo proceso es mayor, entonces se atiende al nuevo proceso.
SJF. Son las siglas de Short Job First, es decir el trabajo más corto primero. En este caso se seleccionará el proceso que requiera menor tiempo de ejecución (si dos tienen el mismo tiempo se decide por FIFO). El problema puede aparecer con procesos muy largos que están siempre bloqueados por procesos más cortos. Este algoritmo puede ser expropiativo o no. En la variante expropiativa denominada SRTN(Shortest Remainig Time Next) medimos el tiempo restante que le queda a cada proceso.
Algoritmo SJF (no expropiativo)
FCFS. First Come, First Served o lo que es lo mismo el primero que llega es el primero en ser atendido. Podemos
...