Algoritmos de planificación de procesos: FCFS, SJF, SRTN y Round-Robin.
Tiempo de Espera= Tiempo que pasa un proceso en la cola de espera de CPU.
Tiempo de respuesta= Tiempo desde que llega un proceso hasta que se le asigna la CPU por primera
vez.
Tiempo de Retorno (o estancia) = Tiempo desde que llega un proceso hasta que acaba de ejecutarse
Tiempos medios (válido para los 3) = (Suma de los tiempos de cada proceso) / (número de procesos)
1- FCFS. (First comes , First served)
- Tiene en cuenta el orden de llegada, en caso de que lleguen a la vez se considera
orden alfabético.
- No se interrumpen los procesos en CPU, cuando empieza un proceso se ejecuta hasta
el final.
- Tiempo de espera = Tiempo de respuesta
EJEMPLO 1 (FCFS):
PROCESOS LLEGADA DURACION (CPU)
A 0 5
B 0 4
C 0 2
CPU A A A A A B B B B C C
COLA B B B B B C C C C
CPU C C C C C
0 1 2 3 4 5 6 7 8 9 10 11 12 13
TIEMPO DE ESPERA: A=0 B=5 C=9 Tiempo medio= 14/3
TIEMPO DE RESPUESTA: A=0 B=5 C=9 Tiempo medio= 14/3
TIEMPO DE RETORNO: A= 5 B=9 C=11 Tiempo medio= 25/3
EJEMPLO 2 (FCFS):
PROCESOS LLEGADA DURACION (CPU)
A 0 7
B 1 3
C 4 4
CPU A A A A A A A B B B C C C C
COLA B B B B B B C C C
CPU C C C
0 1 2 3 4 5 6 7 8 9 10 11 12 13
TIEMPO DE ESPERA: A=0 B=6 C=6 Tiempo medio=4
TIEMPO DE RESPUESTA: A=0 B=6 C=6 Tiempo medio=4
TIEMPO RETORNO O ESTANCIA: A= 7 B=9 C= 10 Tiempo medio=26/3
2- SJF (Shortest Job First)
- Tiene en cuenta la duración, en caso de que lleguen a la vez se considera primero el
más corto.
- Cuando llega un nuevo proceso, si la CPU está ocupada, se ordenan en la cola de CPU
en orden de duración (primero el más corto)
- No se interrumpen los procesos en CPU, cuando empieza un proceso se ejecuta hasta
el final.
- Si llega un proceso más corto y la CPU está libre, pasa directamente.
- Tiempo de espera = Tiempo de respuesta
EJEMPLO 3 (SJF):
PROCESOS LLEGADA DURACION (CPU)
A 0 4
B 0 2
C 0 1
CPU C B B A A A A
COLA B A A
CPU A
0 1 2 3 4 5 6 7
TIEMPO DE ESPERA: A=3 B=1 C=0 Tiempo medio= 4/3
TIEMPO DE RESPUESTA: A=3 B=1 C=0 Tiempo medio= 4/3
TIEMPO RETORNO O ESTANCIA: A=7 B=3 C=1 Tiempo medio: 11/3
EJEMPLO 4 (SJF):
PROCESOS LLEGADA DURACION (CPU)
A 0 4
B 1 2
C 3 2
D 2 3
CPU A A A A B B C C D D D
COLA B B B C C D D
CPU D C D D
D
0 1 2 3 4 5 6 7 8 9 10 11
TIEMPO DE ESPERA: A=0 B=3 C=3 D=6 Tiempo medio=3
TIEMPO DE RESPUESTA: A=0 B=3 C=3 D=6 Tiempo medio=3
TIEMPO RETORNO O ESTANCIA: A=4 B=5 C=5 D=9 Tiempo medio=23/4
3- SRTN (Shortest Remaining Time Next)
- Se pueden interrumpir los procesos en CPU.
- Tiene en cuenta la duración. Cuando llega un nuevo proceso se compara la duración
con lo que queda por hacer del proceso en la CPU. Si es más corto pasa a CPU y
desplaza al que había. Si es igual o superior, continúa el que estaba.
- Cuando llega un nuevo proceso, si no desplaza el que está en ejecución, se ordenan en
la cola de CPU en orden de duración (primero el más corto). En caso de empate, orden
alfabético.
EJEMPLO 5 (SRTN):
PROCESOS LLEGADA DURACION (CPU)
A 0 6
B 1 4
C 2 7
D 3 5
CPU A B B B B A A A A A D D D D D C C C C C C C
COLA A A A A D D D D D C C C C C
CPU C D D C C C C C
C C
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
TIEMPO DE ESPERA: A=4 B=0 C=13 D=7 Tiempo medio=6
TIEMPO DE RESPUESTA: A=0 B=0 C=13 D=7 Tiempo medio= 5
TIEMPO RETORNO O ESTANCIA: A=10 B=4 C= 20 D=12 Tiempo medio=46/4
EJEMPLO 6 (SRTN):
PROCESOS LLEGADA DURACION (CPU)
A 2 3
B 1 2
C 0 1
D 1 3
CPU C B B A A A D D D
COLA D A D D D
CPU D
0 1 2 3 4 5 6 7 8 9
TIEMPO DE ESPERA: A=1 B=0 C=0 D=5 Tiempo medio= 6/4
TIEMPO DE RESPUESTA: A=1 B=0 C=0 D=5 Tiempo medio= 6/4
TIEMPO RETORNO O ESTANCIA: A=4 B=2 C=1 D=8 Tiempo medio= 15/4
4- RR (Q) (Round Robin)
- Usa un quantum Q ( nº de veces seguidas que se puede ejecutar un proceso si tiene
otros en cola). Pasado el Q tiene que dejar paso al siguiente en la cola.
- Las colas se gestionan por orden de llegada (como en FCFS). En caso de que lleguen a
la vez se considera orden alfabético.
- Si se aplica el criterio cíclico, el proceso que sale de CPU porque ha consumido Q pasa
al final de la cola, se pone el último.
- Si ya no hay procesos en cola puede ejecutarse el proceso seguido sin tener en cuenta
Q.
EJEMPLO 7 - RR(2) Cíclico
PROCESOS LLEGADA DURACION (CPU)
A 0 3
B 2 4
C 1 2
CPU A A C C B B A B B
COLA C B B A A B
CPU A A
0 1 2 3 4 5 6 7 8 9
TIEMPO DE ESPERA: A=4 B=3 C=1 Tiempo medio=8/3
TIEMPO DE RESPUESTA: A=0 B=2 C=1 Tiempo medio=1
TIEMPO RETORNO O ESTANCIA: A=7 B=7 C=3 Tiempo medio=17/3
EJEMPLO 8 - RR(3) Cíclico
PROCESOS LLEGADA DURACION (CPU)
A 0 5
B 2 4
C 1 6
CPU A A A C C C B B B A A C C C B
COLA C C B B B A A A C C B B B
CPU B A A A C C C B B
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
TIEMPO DE ESPERA: A=6 B=9 C=7 Tiempo medio=22/3
TIEMPO DE RESPUESTA: A=0 B=4 C=2 Tiempo medio= 2
TIEMPO RETORNO O ESTANCIA: A=11 B=13 C= 13 Tiempo medio=37/3
EJERCICIO 1 : FCFS
Proceso Llegada CPU
A 0 4
B 1 1
C 3 3
D 2 2
CPU A A A A B D D C C C
COLA B B B D D C
CPU
0 1 2 3 4 5 6 7 8 9 10
TIEMPO DE ESPERA: A= B= C= D= Tiempo medio=10/4
TIEMPO DE RESPUESTA: A= B= C= D= Tiempo medio=10/4
TIEMPO RETORNO O ESTANCIA: A= B= C= D= Tiempo medio=5
EJERCICIO 2 : FCFS.
Proceso Llegada CPU
A 0 7
B 2 4
C 4 1
D 5 4
CPU A A A A A A A B B B B C D D D D
COLA B B B B B C C C C D
CPU C C C D D D D
D D
0 1 2 3 4 5 6 7 8 9 10
TIEMPO DE ESPERA: A=0 B=5 C=7 D=7 Tiempo medio=19/4
TIEMPO DE RESPUESTA: A=0 B=5 C=7 D=7 Tiempo medio=19/4
TIEMPO RETORNO O ESTANCIA: A=7 B=9 C=8 D=11 Tiempo medio=35/4
EJERCICIO 2 : SJF.
Proceso Llegada CPU
A 0 7
B 2 4
C 4 1
D 5 4
CPU A A A A A A A C B B B B D D D D
COLA B B C C C B D D D D
CPU B B B D
D D
0 1 2 3 4 5 6 7 8 9 10
TIEMPO DE ESPERA: A=0 B=6 C=3 D=7 Tiempo medio=4
TIEMPO DE RESPUESTA: A=0 B=6 C=3 D=7 Tiempo medio=4
TIEMPO RETORNO O ESTANCIA: A=7 B=10 C=4 D=11 Tiempo medio=8
EJERCICIO 3: SRTN
Proceso Llegada CPU
A 0 7
B 2 4
C 4 1
D 5 4
CPU A A B B C B B D D D D A A A A A
COLA A A B D D A A A A
CPU A A A
Tiempo Espera : A= 9 B= 1 C= 0 D= 2 Medio= 3
Tiempo Resp: A= 0 B= 0 C= 0 D= 2 Medio=1/2
Tiempo Retorno : A= 16 B= 5 C= 1 D= 6 Medio=28/4 =7
EJERCICIO 4 : RR(2) Cíclico
Proceso Llegada CPU
A 3 6
B 0 3
C 1 4
D 3 2
CPU
COLA
CPU
Tiempo Espera : A= B= C= D= Medio=
Tiempo Resp: A= B= C= D= Medio=
Tiempo Retorno: A= B= C= D= Medio=
NOTA: PODÉIS USAR LA MISMA TABLA DE CADA EJERCICIO Y RESOLVERLO CON LOS 4
ALGORITMOS PARA PRACTICAR.