Documentos de Académico
Documentos de Profesional
Documentos de Cultura
a. FCFS
b. SJF
c. SRT
d. RR quantum=2 proceso llegada Tiempo cpu
A 0 6
Calcula además, para cada uno de los algoritmos tiempo
B 2 3
medio de espera y tiempo medio de retorno.
C 3 4
- Según el tiempo medio de espera, cual es el algoritmo D 5 5
más eficiente? E 6 3
- Con qué algoritmo es menor el tiempo de retorno?
En la tabla anterior aparecen identificados los procesos, el instante de llegada al sistema y la carga de cpu
correspondiente para cada uno de ellos.
Se trata de un algoritmo No Apropiativo. Esto implica que, una vez se asigna un proceso al procesador, este
lleva a cabo todas sus instrucciones hasta su finalización. Para la representación gráfica de los procesos,
emplearemos una tabla como la que sigue. En el eje Y, colocamos los procesos y el eje X representa los ciclos
de cpu (tiempo de ejecución).
E
D
C
B
A
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Para calcular el tiempo medio de ejecución, sumamos todos los ciclos de cpu que consuman los procesos y
dividimos por el número de procesos:
(6 + 3 + 4 + 5 + 3)/5=21/5=4,2u.t
El tiempo de respuesta, es el número de ciclos de cpu que el proceso está esperando en la lista de procesos
en estado listo, hasta que puede recibir la cpu por primera vez. (Aparece marcado con color gris en la gráfica
anterior).
Página 1 de 8
Proceso B: espera 4 ut hasta que le conceden la cpu.
Proceso E: espera 12 ut
El tiempo de espera, es el número de ciclos de cpu que el proceso espera en total. En el caso del algoritmo
FCFS (o FIFO), este tiempo de espera coincide con el tiempo de respuesta, ya que el proceso no se detiene una
vez se le asigna el procesador.
El tiempo de retorno es el número de ciclos que transcurren desde que el proceso llega al sistema hasta que
finaliza su ejecución. Mide el tiempo total de permanencia del proceso en el sistema (incluye tiempos de
ejecución y tiempos de espera).
Proceso A: 6 ut
Proceso B: 7 ut.
Proceso C: 10 ut
Proceso D: 13 ut.
Proceso E: 15 ut
Este algoritmo asigna el proceso que tenga un menor tiempo de cpu al procesador. Al igual que en el caso
anterior (FCFS) se trata de un algoritmo no apropiativo. Esto quiere decir que una vez que el proceso ha
tomado el procesador, no puede retirársele hasta que éste haya finalizado. La representación de la carga de
procesos sería la siguiente:
E
D
C
B
A
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Aparecen marcados en color gris los tiempos (ciclos) que los procesos pasan esperando en la lista de procesos
en estado listo.
Para realizar la gráfica hay que tener en cuenta los instantes de llegada y los tiempos de cpu de cada uno de
los procesos. Observamos que C, al tener menos tiempo de CPU, se ejecutará antes que B (aunque este haya
llegado antes). En el caso de los procesos D y E, ocurre exactamente lo mismo. E recibe la cpu antes al ser un
proceso más corto.
Página 2 de 8
Tiempo medio de ejecución, es la suma todos los tiempos de ejecución de los procesos divididos por el
número de procesos:
(6 + 3 + 4 + 5 + 3)/5=21/5=4,2u.t
Proceso A: no espera, ya que, llega en el instante 0 y ya recibe la cpu. Recordemos que es un algoritmo no
apropiativo, y una vez concedida la cpu a un proceso no se le puede retirar. Mientras A está en el procesador,
otros procesos van llegando al sistema y se añaden a la lista de procesos en estado listo o preparado, donde
estarán hasta que se les conceda la cpu.
Proceso C: 9 ut
Proceso D: 11 ut.
Proceso E: espera 3 ut. El proceso E se ejecutará antes que el proceso D porque su tiempo de cpu son 3 ut
Proceso A: 6 ut
Proceso B: 7 ut.
Proceso C: 13 ut
Proceso D: 16 ut.
Proceso E: 6 ut
El algoritmo SRT asigna el procesador a aquel trabajo que le quede menos tiempo de ejecución para ser
completado. Se trata de un algoritmo apropiativo. Veamos la gráfica para nuestra carga de procesos:
E
D
C
B
A
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Página 3 de 8
Al ser un algoritmo apropiativo si un proceso está ejecutándose en la cpu y llega otro proceso más corto (al
que por tanto le queda menos tiempo de cpu), se le retirará el procesador al primer trabajo y se concederá al
segundo.
Esto sucede en el instante 2, cuando llega el proceso B. El proceso A tiene la cpu en su poder, pero B sólo
tiene 3 unidades de ejecución, mientras que A, solamente ha ejecutado 2 unidad, y todavía tiene pendiente
4. Por tanto se le retira el procesador y se asigna al proceso B. Se efectúa el cambio de contexto y B pasa a
ejecutarse en el procesador.
Tiempo medio de ejecución, es la suma todos los tiempos de ejecución de los procesos divididos por el
número de procesos:
(6 + 3 + 4 + 5 + 3) / 5=21/5=4,2u.t
Vemos el tiempo que inicialmente esperan los procesos antes de recibir el procesador por primera vez:
Proceso A: no espera. En el instante 0, no hay otro proceso en el sistema y por tanto comienza su ejecución.
En los algoritmos anteriores hemos visto que coincide con el tiempo de respuesta. En este caso no, ya que al
retirar la cpu a los procesos, éstos van a pasar a la lista de procesos en estado listo.
Proceso B: 3 ut.
Proceso C: 13 ut
Proceso D: 16 ut.
Proceso E: 6 ut
Página 4 de 8
Tiempo medio de retorno = (9 + 3 + 13 + 16 + 6) / 5= 9,4 ut
E
D
C
B
A
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Puede ser útil en la realización del ejercicio, mantener los procesos que están esperando en la lista de
procesos en estado listo. En esta lista de procesos, vamos a colocar a los procesos en dos casos:
Se van eliminando los procesos por el principio cuando pasan al procesador (en color rojo) y se añaden
siempre al final.
En el instante 0, solo hay un proceso en el sistema (A). lo añadimos al final de la lista de procesos en estado
listo.
Al final del instante 1, A agota su quantum y debe abandonar la CPU. En ese momento lo añadimos al final de
la lista de procesos en estado listo.
A A
Instante 2:
Página 5 de 8
Concedemos la cpu al proceso A. Llega B al sistema. Añadimos al proceso B al final de la lista de procesos en
estado listo.
A A B
Instante 3:
Llega el proceso C al sistema y lo añadimos al final de la lista de procesos en estado listo.
A A B C
Instante 4:
A agota su quantum y abandona la CPU. Como le queda tiempo de procesamiento, es añadido al final de la
lista de procesos en estado listo. Y le damos la cpu al primer proceso de esta lista (B)
A A B C A
Instante 5:
B continúa con su ejecución y llega el proceso D al sistema. Al finalizar este instante B terminará su quantum.
A A B C A D
Instante 6:
B termina su quantum. Como todavía le queda tiempo de procesamiento, lo añadimos al final de la lista de
procesos en estado listo. Damos la cpu al primer proceso de la lista: C. Llega E al sistema y lo añadimos al
final de la lista.
A A B C A D B E
Instante 8:
C agota su quantum. Como le restan todavía 2 ut lo añadimos al final de la lista de procesos en estado listo.
Se asigna el procesador al proceso A.
A A B C A D B E C
Instante 10:
A termina su ejecución en el instante 9 y sale del sistema. Asignamos el procesador al primer proceso de la
lista de procesos en estado listo (D).
A A B C A D B E C
Página 6 de 8
Instante 12:
D abandona la cpu, ya que agota el quantum. Todavía le queda tiempo de procesamiento pendiente, así que,
añadiremos el proceso D al final de la lista de procesos en estado listo.
A A B C A D B E C D
Instante 13:
B termina su ejecución y sale del sistema. Le damos la CPU al siguiente proceso de la lista: E.
A A B C A D B E C D
Instante 15:
A A B C A D B E C D E
Instante 17:
C finaliza todas sus instrucciones y abandona la cpu. El proceso D recibe el procesador durante 2 ut.
A A B C A D B E C D E
Instante 19:
D agota su quantum y todavía tiene instrucciones pendientes de ejecutar. Por tanto, lo añadimos al final de la
lista de procesos en estado listo. Se asigna el procesador al proceso E durante 1ut.
A A B C A D B E C D E D
Instante 20:
E finaliza la ejecución de todas sus instrucciones. Asignamos el procesador a D hasta su finalización (1 ut.)
A B A C B A D E A D E D
Tiempo medio de ejecución, es la suma todos los tiempos de ejecución de los procesos divididos por el
número de procesos:
Página 7 de 8
(6 + 3 + 4 + 5 + 3) / 5=21/5=4,2u.t
Vemos el tiempo que inicialmente esperan los procesos antes de recibir el procesador por primera vez:
Proceso A: no espera. En el instante 0, no hay otro proceso en el sistema y por tanto comienza su ejecución.
En FCFS y SJF hemos visto que coincide con el tiempo de respuesta. En este caso no, ya que al retirar la cpu a
los procesos, éstos van a pasar a la lista de procesos en estado listo.
Proceso B: 11 ut.
Proceso C: 14 ut
Proceso D: 16 ut.
Proceso E: 14 ut
Página 8 de 8