You are on page 1of 40

PLANIFICACIN 'FCFS'

DEFINICIN
El algoritmo de planificacin de la CPU
(Central Processing Unit) ms sencillo es
el de servicio por orden de llegada (FCFS,
First Come, First Served), tambin llamado
Primero en Llegar, Primero en Salir.

DEFINIICIN
Este algoritmo de planificacin es en
realidad una secuencia de procesos
basados en una cola simple (FIFO) sin
discriminacin
en
espera
de
ser
ejecutados.

QU ES FIFO?

Tambin llamada primero en entrar/primero


en salir (FIFO, First-in, First-out).

FUNCIONAMIENTO

Con este esquema, el proceso que primero


solicita la CPU la recibe primero.
La implementacin de la poltica FCFS es
fcil con una cola FIFO.

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 ejecucin se
saca de la cola.

Sin embargo...
El tiempo de espera promedio cuando se
adopta la poltica FCFS suele ser muy
largo.
Consideremos el siguiente conjunto de
procesos que llegan en el tiempo 0 (la
duracin de la rfaga de CPU se da en
milisegundos):

PROCESO
P1

TIEMPO DE RFAGA
24

P2

P3

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:

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.

En cambio, si los procesos llegan en el


orden P2, P3, P1, los resultados son los
que se muestran en este diagrama de
Gantt:

El tiempo de espera promedio ahora es


(6+0+3)/3=3 milisegundos.
Esta reduccin es sustancial. As, el tiempo
de espera promedio cuando se instituye
una poltica FCFS casi nunca es mnimo, y
podra variar sustancialmente si los
tiempos de rfaga de CPU del proceso
varan mucho.

Consideremos tambin el desempeo


de la planificacin FCFS en una
situacin dinmica.
Supongamos que tenemos un proceso
limitado por CPU y muchos procesos
limitados por E/S.

A medida que los procesos circulan por


el sistema, podra presentarse la
siguiente situacin:

El proceso limitado por CPU recibe la CPU


y la conserva.

Durante este tiempo, todos los dems


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 estarn de
ociosos.

Finalmente, el proceso limitado por CPU


terminar su rfaga de CPU y requerir un
dispositivo.
Todos los procesos limitados por E/S que
tienen rfagas de CPU muy cortas, se
ejecutarn rpidamente y pasarn otra vez
a las colas de E/S.

En este momento, la CPU estar ociosa. A


continuacin el proceso limitado por CPU
volver a la cola de procesos listos y se le
asignar la CPU.
Una vez ms, todos los procesos limitados
por E/S acabarn en la cola de procesos
listos, esperando que termine el proceso
limitado por CPU.

Se presentar un efecto convoy, ya que


todos los dems procesos esperarn que
un solo proceso grande desocupe la CPU.

Y luego?

Este efecto tiene como resultado un


aprovechamiento de la CPU y de los
dispositivos, menor que el que se lograra
si se cediera el paso a los procesos ms
cortos.

VENTAJAS

La principal ventaja de FCFS es que es


fcil de entender y escribir y no hay
inanicin es decir, cada rfaga de CPU
consigue ser servida, si se espera el
tiempo suficiente.

VENTAJAS

No hay discriminacin de procesos.


Su implementacin es fcil y solo requiere
de una cola FIFO.

DESVENTAJAS

Si un proceso entra en un bucle infinito, se


ejecutar siempre, excluidos todos los
dems. Incluso si asumimos que los
procesos no tienen bucles infinitos
debemos tomar precauciones especiales
para capturar tales procesos, FCFS tiende
a favorecer excesivamente largas rfagas.

DESVENTAJAS

Un proceso puede monopolizar la CPU, as


que el tiempo medio de espera es muy
larga.
Tasa de productividad baja.

DESVENTAJAS

Tiempos de espera muy largos en relacin


con procesos largos con afectacin a los
procesos cortos.
Tiempos de retorno demasiado variables.

DESVENTAJAS

Tiende a favoreces a los procesos con


carga de CPU frente a los que tienen carga
de E/S.
Uso de procesador ineficiente.

EJERCICIOS
PROBLEMA

Supngase que se tienen que realizar


cinco trabajos cuyas caractersticas se
muestran en la Tabla.

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

La implementacin del planificador FCFS


es bastante directa, y su ejecucin da lugar
a pocos recargos. Los procesos largos
hacen esperar a los cortos. El diagrama de
Gantt queda:

b) El tiempo de retorno corresponde al


tiempo transcurrido desde el lanzamiento
de un proceso hasta su finalizacin. 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.

d) El tiempo de espera corresponde al


tiempo que un proceso consume
esperando la asignacin de recursos
debido a ala competencia con otros en un
sistema con multiprogramacin.

Matemticamente se puede expresar como


el tiempo de retorno menos el tiempo de
ejecucin. En la tabla 4 se recogen los
clculos realizados.

e) El tiempo de respuesta a un evento


corresponde al intervalo de tiempo que
transcurre desde que se seala un evento
hasta que se ejecuta la primera instruccin
de la rutina de servicio de dicho evento.

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.

f) Del anlisis de las tablas anteriores se


puede concluir que los mejores resultados
se obtendrn con otro algoritmo de
planificacin que no sea FCFS.

PREGUNTAS Y/O COMENTARIOS?