40
PLANIFICACIÓN 'FCFS'

PLANIFICACIÓN FCFS

Embed Size (px)

Citation preview

Page 1: PLANIFICACIÓN FCFS

PLANIFICACIÓN 'FCFS'

Page 2: PLANIFICACIÓN FCFS

DEFINICIÓN

El algoritmo de planificación de la CPU (Central Processing Unit) más sencillo es el de servicio por orden de llegada (FCFS, First Come, First Served), también llamado Primero en Llegar, Primero en Salir.

Page 3: PLANIFICACIÓN FCFS

DEFINIICIÓN

Este algoritmo de planificación es en realidad una secuencia de procesos basados en una cola simple (FIFO) sin discriminación en espera de ser ejecutados.

Page 4: PLANIFICACIÓN FCFS

¿QUÉ ES FIFO?

También llamada primero en entrar/primero en salir (FIFO, First-in, First-out).

Page 5: PLANIFICACIÓN FCFS

FUNCIONAMIENTO

● Con este esquema, el proceso que primero solicita la CPU la recibe primero.

● La implementación de la política FCFS es fácil con una cola FIFO.

Page 6: PLANIFICACIÓN FCFS

FUNCIONAMIENTO

● Cuando un proceso ingresa en la cola de procesos listos, su PCB se enlaza al final de la cola.

● Cuando la CPU queda libre, se asigna al proceso que está a la cabeza de la cola. Acto seguido, el proceso en ejecución se saca de la cola.

Page 7: PLANIFICACIÓN FCFS

Sin embargo...

El tiempo de espera promedio cuando se adopta la política FCFS suele ser muy largo.

Consideremos el siguiente conjunto de procesos que llegan en el tiempo 0 (la duración de la ráfaga de CPU se da en milisegundos):

Page 8: PLANIFICACIÓN FCFS

PROCESO TIEMPO DE RÁFAGA

P1

P2

P3

24

3

3

Page 9: PLANIFICACIÓN FCFS

Si los procesos llegan en el orden P1, P2, P3, y se atienden en orden FCFS, obtenemos el resultado que se muestra en el siguiente diagrama de Gantt:

Page 10: PLANIFICACIÓN FCFS

El tiempo de espera es de 0 milisegundos para el proceso P1, 24 milisegundos para el proceso P2, y 27 milisegundos para el proceso P3.

Entonces, el tiempo de espera promedio es (0+24+27)/3=17 milisegundos.

Page 11: PLANIFICACIÓN FCFS

En cambio, si los procesos llegan en el orden P2, P3, P1, los resultados son los que se muestran en este diagrama de Gantt:

Page 12: PLANIFICACIÓN FCFS

El tiempo de espera promedio ahora es (6+0+3)/3=3 milisegundos.

Esta reducción es sustancial. Así, el tiempo de espera promedio cuando se instituye una política FCFS casi nunca es mínimo, y podría variar sustancialmente si los tiempos de ráfaga de CPU del proceso varían mucho.

Page 13: PLANIFICACIÓN FCFS

Consideremos también el desempeño de la planificación FCFS en una situación dinámica.

Supongamos que tenemos un proceso limitado por CPU y muchos procesos limitados por E/S.

Page 14: PLANIFICACIÓN FCFS

A medida que los procesos circulan por el sistema, podría presentarse la siguiente situación:

● El proceso limitado por CPU recibe la CPU y la conserva.

Page 15: PLANIFICACIÓN FCFS

● Durante este tiempo, todos los demás procesos terminan su E/S e ingresan en la cola de procesos listos para esperar la CPU.

● Mientras los procesos esperan en esa cola, los dispositivos de E/S estarán de ociosos.

Page 16: PLANIFICACIÓN FCFS

● Finalmente, el proceso limitado por CPU terminará su ráfaga de CPU y requerirá un dispositivo.

● Todos los procesos limitados por E/S que tienen ráfagas de CPU muy cortas, se ejecutarán rápidamente y pasarán otra vez a las colas de E/S.

Page 17: PLANIFICACIÓN FCFS

● En este momento, la CPU estará ociosa. A continuación el proceso limitado por CPU volverá a la cola de procesos listos y se le asignará la CPU.

● Una vez más, todos los procesos limitados por E/S acabarán en la cola de procesos listos, esperando que termine el proceso limitado por CPU.

Page 18: PLANIFICACIÓN FCFS

● Se presentará un efecto convoy, ya que todos los demás procesos esperarán que un solo proceso grande desocupe la CPU.

Page 19: PLANIFICACIÓN FCFS

¿Y luego?

● Este efecto tiene como resultado un aprovechamiento de la CPU y de los dispositivos, menor que el que se lograría si se cediera el paso a los procesos más cortos.

Page 20: PLANIFICACIÓN FCFS

VENTAJAS

● La principal ventaja de FCFS es que es fácil de entender y escribir y no hay inanición es decir, cada ráfaga de CPU consigue ser servida, si se espera el tiempo suficiente.

Page 21: PLANIFICACIÓN FCFS

VENTAJAS

● No hay discriminación de procesos.

● Su implementación es fácil y solo requiere de una cola FIFO.

Page 22: PLANIFICACIÓN FCFS

DESVENTAJAS

● Si un proceso entra en un bucle infinito, se ejecutará siempre, excluidos todos los demás. Incluso si asumimos que los procesos no tienen bucles infinitos debemos tomar precauciones especiales para capturar tales procesos, FCFS tiende a favorecer excesivamente largas ráfagas.

Page 23: PLANIFICACIÓN FCFS

DESVENTAJAS

● Un proceso puede monopolizar la CPU, así que el tiempo medio de espera es muy larga.

● Tasa de productividad baja.

Page 24: PLANIFICACIÓN FCFS

DESVENTAJAS

● Tiempos de espera muy largos en relación con procesos largos con afectación a los procesos cortos.

● Tiempos de retorno demasiado variables.

Page 25: PLANIFICACIÓN FCFS

DESVENTAJAS

● Tiende a favoreces a los procesos con carga de CPU frente a los que tienen carga de E/S.

● Uso de procesador ineficiente.

Page 26: PLANIFICACIÓN FCFS

EJERCICIOS

PROBLEMA

● Supóngase que se tienen que realizar cinco trabajos cuyas características se muestran en la Tabla.

Page 27: PLANIFICACIÓN FCFS
Page 28: PLANIFICACIÓN FCFS

SOLUCION

a) El algoritmo FCFS (primero en llegar, primero en ser servido) (First-Come-First-Served) corresponde a la disciplina de planificación en la que los procesos en estado preparado acceden al procesador en el orden en que llegan a dicho estado, sin expropiaciones.

Page 29: PLANIFICACIÓN FCFS

● La implementación del planificador FCFS es bastante directa, y su ejecución da lugar a pocos recargos. Los procesos largos hacen esperar a los cortos. El diagrama de Gantt queda:

Page 30: PLANIFICACIÓN FCFS

b) El tiempo de retorno corresponde al tiempo transcurrido desde el lanzamiento de un proceso hasta su finalización. La tabla 2 muestra el tiempo de retorno de cada proceso para el algoritmo FCFS, como se puede observar en el diagrama de Gantt anterior.

Page 31: PLANIFICACIÓN FCFS
Page 32: PLANIFICACIÓN FCFS
Page 33: PLANIFICACIÓN FCFS

d) El tiempo de espera corresponde al tiempo que un proceso consume esperando la asignación de recursos debido a ala competencia con otros en un sistema con multiprogramación.

Page 34: PLANIFICACIÓN FCFS

Matemáticamente se puede expresar como el tiempo de retorno menos el tiempo de ejecución. En la tabla 4 se recogen los cálculos realizados.

Page 35: PLANIFICACIÓN FCFS
Page 36: PLANIFICACIÓN FCFS

e) El tiempo de respuesta a un evento corresponde al intervalo de tiempo que transcurre desde que se señala un evento hasta que se ejecuta la primera instrucción de la rutina de servicio de dicho evento.

Page 37: PLANIFICACIÓN FCFS

En definitiva es el tiempo que esta esperando en el estado de preparado o loqueado para empezar a ejecutarse. Así, a partir de estos resultados se puede calcular el tiempo de respuesta como queda recogido en la Tabla 5.

Page 38: PLANIFICACIÓN FCFS
Page 39: PLANIFICACIÓN FCFS

● f) Del análisis de las tablas anteriores se puede concluir que los mejores resultados se obtendrán con otro algoritmo de planificación que no sea FCFS.

Page 40: PLANIFICACIÓN FCFS

¿PREGUNTAS Y/O COMENTARIOS?