Está en la página 1de 8

EJERCICIOS GESTIÓN DE PROCESOS

1. Sea la siguiente carga de procesos: (2,5ptos)

Realiza el diagrama de ejecución de procesos para los siguientes algoritmos:

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.

Tiempo total de ejecución de procesos: 6 + 3 + 4 + 5 + 3 = 21 ut (unidades temporales)

Es importante recordar que nos encontramos en un entorno Monoprocesador.

a. FCFS (First Come, First Served)

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).

Proceso A: no espera, ya que, llega en el instante 0 y ya recibe la cpu.

Página 1 de 8
Proceso B: espera 4 ut hasta que le conceden la cpu.

Proceso C: espera 6 ut.

Proceso D: espera 8 ut.

Proceso E: espera 12 ut

Tiempo medio de respuesta = ( 0 + 4 + 6 + 8 + 12 ) / 5= 6 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.

Tiempo medio espera = 6ut.

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

Tiempo medio retorno = ( 6 + 7 + 10 + 13 + 15 ) / 5= 10,2 ut

b. SJF (Shortest Job First)

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

Tiempo medio de respuesta

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 B: espera 4 ut hasta que le conceden 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

Tiempo medio de respuesta = ( 0 + 4 + 9 + 11 + 3 )/5 = 5,4 u.t.

Tiempo medio de espera

Coincide con el tiempo medio de respuesta.

Tiempo medio de retorno

Proceso A: 6 ut

Proceso B: 7 ut.

Proceso C: 13 ut

Proceso D: 16 ut.

Proceso E: 6 ut

Tiempo medio de retorno = (6 + 7 + 13 + 16 + 6 ) / 5= 9,6 ut

c. SRT (Shortest Remaining Time)

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

Tiempo medio de respuesta

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.

Proceso B: no espera. Recibe la cpu en el instante en que llega al sistema.

Proceso C: espera 9 ut.

Proceso D: espera 11 ut.

Proceso E: espera 3 ut.

Tiempo medio de respuesta = ( 0 + 0 + 9 +11 +3 ) / 5 = 23/5u.t. = 4,6 u.t.

Tiempo medio de espera

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 A: espera 3 ut.

Proceso B: no espera. Recibe la cpu en el instante en que llega al sistema.

Proceso C: espera 9 ut.

Proceso D: espera 11 ut.

Proceso E: espera 3 ut.

Tiempo medio de espera = ( 3 + 0 + 9 + 11+ 3 ) / 5 = 26/5u.t. = 5,2 u.t.

Tiempo medio de retorno

Analizando la gráfica del algoritmo SRT, vemos que:

Proceso A: está 9 ut en el sistema

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

d. Round Robin quantum=2

Se trata de un algoritmo apropiativo, que va asignando a cada


uno de los procesos un intervalo de tiempo de cpu predefinido
(quantum). En nuestro caso son 2 ut. Cuando un proceso recibe la
cpu y agota su quantum, debe abandonar el procesador. También
puede abandonar la cpu sin agotar el quantum de tiempo. Esto
último sucederá cuando el proceso termine su 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

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:

- cuando llegan al sistema


- cuando abandonan el procesador, porque agotan su quantum

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.

A continuación, se asigna el procesador durante 2 ut (valor del quantum).

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.

Justo al final del Instante 1:

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.

Asignamos el procesador al proceso B (primer proceso 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:

E ha agotado su quantum y todavía tiene instrucciones pendientes. Lo añadimos al final de la lista de


procesos en estado listo. C recibe, en este momento, el procesador.

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

Tiempo medio de respuesta

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.

Proceso B: espera 2ut.

Proceso C: espera 3 ut.

Proceso D: espera 5 ut.

Proceso E: espera 7 ut.

Tiempo medio de respuesta = ( 0 + 2 + 3 + 5 + 7 ) / 5 = 13u.t / 5 = 3,4 u.t.

Tiempo medio de espera

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 A: espera 4 ut.

Proceso B: espera 8 ut.

Proceso C: espera 10 ut.

Proceso D: espera 11 ut.

Proceso E: espera 11 ut.

Tiempo medio de espera = ( 4 + 8 + 10 +11 +11 ) / 5 = 44 u.t / 5 = 8,8 u.t.

Tiempo medio de retorno

Analizando la gráfica del algoritmo, vemos que:

Proceso A: está 10ut en el sistema

Proceso B: 11 ut.

Proceso C: 14 ut

Proceso D: 16 ut.

Proceso E: 14 ut

Tiempo medio de retorno = ( 10 + 11 + 14 +16 +14 ) / 5= 65 u.t. / 5 = 13 ut

- Según el tiempo medio de espera, cual es el algoritmo más eficiente? SRT


- Con qué algoritmo es menor el tiempo de retorno?
SRT

Página 8 de 8

También podría gustarte