Sie sind auf Seite 1von 11

PROCESOS. (Ampliación).

1) Supóngase que se tienen que realizar cinco trabajos cuyas características se


muestran en la tabla siguiente, llegando en el mismo orden en el que se muestran:

Trabajo Tiempo de ejecución Prioridad

1 1 1

2 10 4

3 2 3

4 2 4

5 6 2

Tabla 1.1

Se pide:

A) Realizar los diagramas de Gantt que ilustren la ejecución de estos trabajos


utilizando los algoritmos siguientes: FCFS (primero en llegar primero en ser
servido), SJFS (primera tarea más corta), SRT (tiempo que queda más corto),
RR (prioridad circular) con un quantum de 1 ms y, finalmente una planificación
por prioridades no expropiativa.

B) Determinar para cada uno de los procesos con cada uno de los algoritmos de
planificación anteriores el tiempo de retorno. Calcular la media resultante para
cada algoritmo.

C) Lo mismo que el anterior para la eficiencia.

D) Lo mismo que el anterior para el tiempo de espera.

E) Lo mismo que el anterior para el tiempo de respuesta.

F) Analizar los resultados anteriores y extraer consecuencias.

El algoritmo FCFS (primero en llegar, primero en ser servido) 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. 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 a
que da lugar esta planificación es el siguiente:

1 2 3 4 5

1 11 13 15 21

El algoritmo SJF (primera tarea más corta) es una disciplina de planificación no


expropiativa en el cual el trabajo (o proceso) en espera con el tiempo estimado de
ejecución hasta su terminación más corto, es el siguiente en ser ejecutado. SJF favorece
a los trabajos cortos a costa de los más largos. Si dos trabajos tienen el mismo tiempo se
seleccionan según la estrategia FCFS. Así, los procesos 3 y 4 requieren del mismo
tiempo de ejecución luego el orden de ejecución de acuerdo a su orden de llegada será
primero el proceso 3 y luego el 4.

1 3 4 5 2

1 3 5 11 21

El algoritmo SRT (tiempo que queda más corto) Es la contraparte expropiativa de SJF.
El proceso con el tiempo estimado de ejecución menor para llegar a su terminación es el
siguiente en ser ejecutado, incluyendo las nuevas llegadas. En nuestro caso como están
planificados los trabajos (no llegando ninguno nuevo), y como se parte del más corto en
tiempo, siempre seguirá siendo el más corto a medida que se ejecuta, por lo que es igual
que el algoritmo SJF.

La diferencia tiene lugar cuando los trabajos no están planificados, ya que de esta forma
se pone de manifiesto la cualidad expropiativa de este algoritmo, que es lo que le
diferencia del SJF, por ejemplo, si se está ejecutando un proceso con un tiempo de
ejecución de 6 y han pasado 2 s, y entra un proceso que requiere 2 s para ejecutarse, le
expropiará.

*No se explica en este módulo e-learning.

El algoritmo RR (prioridad circular)(Round Robin) los procesos se despachan en FCFS


pero le les otorga una cantidad limitada de tiempo de CPU llamada quantum. Si un
proceso no termina antes expirar su tiempo de CPU que viene definido por su quantum,
entonces la CPU es expropiada y otorgada al siguiente proceso en espera.
1 2 3 4 5 2 3 4 5 2 5 2 5 2 5 2 5 2 2 2 2

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21

El algoritmo de prioridades (no expropiativo). En esta estrategia de planificación por


prioridades cada proceso tiene asignada una y el de mayor prioridad es el que toma el
procesador. Así, suponiendo que el orden de máxima prioridad es para el de prioridad 1
y así sucesivamente y que a igualdad de prioridades se seleccionan según la estrategia
FCFS se tiene el siguiente diagrama de Gantt:

1 5 3 2 4

1 7 9 19 21

** Si os dais cuenta, el tiempo de reloj siempre termina en 21. Es una forma de


comprobar por si en la resolución de un ejercicio no es así, debemos repasar los
Diagramas de Gantt o las tablas solicitadas.

b) El tiempo de retorno corresponde al tiempo transcurrido desde el


lanzamiento de un proceso hasta su finalización.

Es decir, es el tiempo que transcurre desde que un proceso se crea hasta que se completa
por el sistema.

A continuación se muestra el tiempo de retorno para los cinco procesos según los
diferentes algoritmos de planificación:

Trabajo FCFS RR SJF Prioridad


1 1 1 1 1

2 11 21 21 19

3 13 7 3 9

4 15 8 5 21

5 21 17 11 7

Tiempo medio 12,2 10,8 8,2 11,4

Tabla 1.2

En el diagrama de Gantt mirad cuándo acaba de ejecutarse el proceso, observad que en


el RR será cuándo se ejecuta por última vez.
c) La eficiencia (Ef) es la fracción de tiempo medio durante el cual el procesador
está ocupado de manera útil en la ejecución de un proceso:

Ef=U/T*100%

Es decir: (Ejecución/Retorno)*100

Ejecución: miramos en la tabla dada en el enunciado.

Retorno: miramos en los diagramas de Gantt correspondientes a cada algoritmo,


cuando han terminado de ejecutarse cada proceso.

A la hora de calcular la eficiencia del procesador para un proceso (dado por la tabla 1.1)
frente al tiempo total de uso de la CPU, T (ejecución y conmutación) o tiempo que
transcurre hasta que el proceso en concreto finalice su ejecución, que corresponderá al
tiempo de retorno de dicho proceso (dado por la tabla 1.2).

Trabajo FCFS(%) RR(%) SJF(%) Prioridad(%)


(1/1)*100= (1/1)*100= (1/1)*100= (1/1)*100=
1
100 100 100 100

(10/11)*100= (10/21)*100= (10/21)*100= (10/19)*100=


2
90,90 47,61 47,61 52,63

(2/13)*100= (2/7)*100= (2/3)*100= (2/9)*100=


3
15,38 28,57 66,66 22,22

(2/15)*100= (2/8)*100= (2/5)*100= (2/21)*100=


4
13,33 25 40 9,52

(6/21)*100= (6/17)*100= (6/11)*100= (6/7)*100=


5
28,57 35,29 54,54 85,71

Tiemp
o 49,63 47,29 61,76 54,01
medio

Tabla 1.3
d) El tiempo de espera corresponde al tiempo que un proceso consume
esperando la asignación de recursos debido a la competencia con otros en un sistema
con multiprogramación. Matemáticamente se puede expresar como el

tiempo de retorno - el tiempo de ejecución.

Retorno: del diagrama de Gantt o de la tabla anterior. Mejor de ésta, pues cuando
hay otro tipo de ejercicios con tiempos de llegada diferentes, se debe coger de la
tabla.

Ejecución: Miramos en la tabla del enunciado.

Trabajo FCFS RR SJF Prioridad


1 1-1=0 1-1=0 1-1=0 1-1=0

2 11-10=1 21-10=11 21-10=11 19-10=9

3 13-2=11 7-2=5 3-2=1 9-2=7

4 15-2=13 8-2=6 5-2=3 21-2=19

5 21-6=15 17-6=11 11-6=5 7-6=1

Tiempo medio 8 6,6 4 7,2

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. En definitiva, es el tiempo que está esperando en
el estado de preparado o bloqueado para empezar a ejecutarse.

Es decir, el tiempo que está esperando hasta que comienza a ejecutarse. Realmente,
cuando le dá respuesta la CPU.

Podéis mirar el tiempo de retorno del proceso anterior. En cualquier ejemplo de los
facilitados, el primer proceso que ha sido ejecutado sería 0. Pues no ha tenido que
esperar. El segundo proceso correspondería el tiempo de retorno del primer proceso, y
así sucesivamente.

Así:
Con el diagrama de Gantt FCFS, que copio aquí como ejemplo

1 2 3 4 5

1 11 13 15 21

También os copio el de SJF, la tarea más corta:

1 3 4 5 2

1 3 5 11 21

Trabajo FCFS RR SJF Prioridad


1 0 0 0 0

2 1 1 11 9

3 11 2 1 7

4 13 3 3 19

5 15 4 5 1

Tiempo medio 8 2 4 7,2

f) Del análisis de las tablas anteriores de puede concluir que los mejores resultados se obtienen para el algoritmo
SJF:

- El menor tiempo de retorno medio (8,2)

- La mayor eficiencia media de la CPU (61,7%)

- El tiempo de espera medio más pequeño (4)


2) Dados los siguientes procesos:

Proceso Tiempo de llegada Tiempo de CPU

1 0 24

2 0 3

3 0 3

Para el algoritmo FCFS, calcula: su tiempo de retorno

Sol:

a) Diagrama de Gantt

1 2 3

24 27 30

b) Tiempo de retorno:

Trabajo FCFS
1 24

2 27

3 30

Tiempo medio 27

c) Tiempo de eficiencia

Trabajo FCFS
1 100

2 11,11

3 10

Tiempo medio 40,37


d) Tiempo de espera

Trabajo FCFS
1 0

2 24

3 27

Tiempo medio 17

e) Tiempo de respuesta

Trabajo FCFS
1 0

2 24

3 27

Tiempo medio 17

3) Algoritmo FCFS. Dados los siguientes procesos:


Proceso Tiempo de llegada Tiempo de CPU

1 0 3

2 0 2

3 0 1

4 0 1

1 2 3 4

3 5 6 7
Trabajo Retorno Espera
1 3 0

2 5 3

3 6 5

4 7 6

Tiempo
5,25 3,5
medio

4) Dados los siguientes procesos. SJF Tiempo retorno y espera.


Proceso Tiempo de llegada Tiempo de CPU

1 0 2

2 0 5

3 0 1

4 0 3

Solución:

3 1 4 2

1 3 6 11

Trabajo Retorno Espera


1 3 1

2 11 6

3 1 0

4 6 3

Tiempo medio 5,25 2,5


5) Dados los siguientes procesos. Round Robin. Q=3
Proceso Tiempo de llegada Tiempo de CPU

1 0 4

2 0 8

3 0 3

4 0 4

Solución:

1 2 3 4 1 2 4 2

3 6 9 12 13 16 17 19

1 5 0 1 0 2 0 0

En verde os he añadido una fila (“tipo chuleta”) con el tiempo restante de ejecución
de cada proceso.

Es decir, al ejecutar el proceso 1, con un quantum de 3, nos quedaría por ejecutar 1.


Pasaríamos a la tarea 2, que al ejecutar el quantum de 3, nos quedaría 5, el tercer

Proceso acabaría pues su ejecución es igual al quantum, el cuarto ejecutaría el Q=3


y le quedaría uno,

Comenzaríamos la segunda vuelta, ejecutaríamos la tarea restante del primer


proceso, aunque sea un q=3 no podemos dejar la cpu parada los tres quantum que
podría utilizar, por lo que sólo ocuparía el tiempo restante de su ejecución que le
queda.

Completaríamos igual los distintos procesos restantes con la tarea que le queda a
cada uno.
Trabajo Retorno Espera
1 13 9

2 19 11

3 9 6

4 17 13

Tiempo medio 14,5 9,75


6) Dados los siguientes procesos por prioridades. No expulsor.
Proceso Tiempo de llegada Tiempo de CPU Prioridad

1 0 3 3

2 0 2 2

3 0 1 0

4 0 1 1

Solución:

3 4 2 1

1 2 4 7

Trabajo Retorno Espera


1 7 4

2 4 2

3 1 0

4 2 1

Tiempo medio 3,5 1,75

Das könnte Ihnen auch gefallen