Está en la página 1de 9

CUESTIONES TEMA 5.

"SCHEDULING"

1. Dada la siguiente tabla, aplica el algoritmo RM y comprueba si el conjunto es planificable


mediante el test de factores de utilizacin. Representa temporalmente la ejecucin del
conjunto de tareas. Cundo podremos afirmar que el sistema es o no planificable
utilizando el mtodo grfico? Por qu?
1
2
3

T
6
9
11

C
3
2
2

Solucin:
RM P(1)=3, P(2)=2, P(3)=1
U = 3/6 + 2/9 + 2/11 = 0,904 que no es menor que un 78% no podemos deducir nada
1
2
3
0

X
10 11 12 13 14 15 16 17 18

No es planificable. La tarea 3 pierde su plazo.


Utilizando el mtodo grfico se puede afirmar que el sistema es planificable si ninguna tarea
pierde su plazo en el primer hiperperiodo (que en este caso sera de 198 ut).

2. Dado el siguiente conjunto de tareas, indicar si son planificables bajo RM utilizando el


test de factores de utilizacin y el test de tiempo de respuesta. Cul es el tiempo de
respuesta Ri para cada tarea?
1
2
3
4

T
10
12
30
55

C
3
2
2
10

Solucin:
RM P(1)=4, P(2)=3, P(3)=2, P(4)=1
U = 3/10 + 2/12 + 2/30 + 10/55 = 0,71
U 0,757 Con el factor de utilizacin podemos asegurar que el sistema es planificable.
Tiempos de respuesta:
R1 = 3
R20 = 2
R21 = 2 + 2/103 = 5
R22 = 2 + 5/103 = 5 R2 = 5
R30 = 2
R31 = 2 + 2/103 + 2/122 = 7
R32 = 2 + 7/103 + 7/122 = 7 R3 = 7
R40 = 10
1

CUESTIONES TEMA 5. "SCHEDULING"


R41 = 10 + 10/103 + 10/122 + 10/302 = 17
R42 = 10 + 17/103 + 17/122 + 17/302 = 22
R43 = 10 + 22/103 + 22/122 + 22/302 = 25
R44 = 10 + 25/103 + 25/122 + 25/302 = 27
R45 = 10 + 27/103 + 27/122 + 27/302 = 27 R4 = 27
3. Dado el siguiente conjunto de tareas: (a) Determinar de forma grfica si dicho conjunto
cumple sus deadlines si son planificadas segn sus prioridades, segn un esquema
"non-preemptive" ; (b) Si se planifican segn un esquema de prioridades y "preemptive",
cul sera el tiempo de respuesta en el peor caso para la tarea 2?
1
2
3
4

T
5
15
60
90

C
1
2
3
7

P
4
3
2
1

Solucin:
a) Hacemos el cronograma hasta el hiperperiodo (instante 180):
1
2
3
4
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
Contina igual hasta el instante 60, donde se vuelve a activar la tarea 3.
1
2
3
4
60 61 62 63 64 65 66 67 68 69
Contina igual hasta el instante 90, cuando se vuelve a activar la tarea 4.
1

La tarea 1 pierde su plazo El


sistema no es planificable

2
3
4
90 91 92 93 94 95 96 97 98 99 100

CUESTIONES TEMA 5. "SCHEDULING"


b)
R20 = 2
R21 = 2 + 2/51 = 3
R22 = 2 + 3/51 = 3 R2 = 3
4. Dado el siguiente conjunto de tareas, encontrar una asignacin de prioridades tal que
dicho conjunto sea planificable.
1
2
3
4

T
10
12
40
600

C
1
2
8
20

D
10
12
40
30

Solucin:
Para el anterior conjunto de tareas, la asignacin de prioridades mediante DM es ptima
si el sistema no es planificable mediante DM no lo ser con ninguna otra asignacin.
R1 = 1
R20 = 2
R21 = 2 + 2/101 = 3
R22 = 2 + 3/101 = 3 R2 = 3
R40 = 20
R41 = 20 + 20/101 + 20/122 = 26
R42 = 20 + 26/101 + 26/122 = 29
R43 = 20 + 29/101 + 29/122 = 29 R4 = 29
R30 = 8
R31 = 8 + 8/101 + 8/122 + 8/60020 = 31
R32 = 8 + 31/101 + 31/122 + 31/60020 = 8 + 4 + 6 + 20 = 38
R33 = 8 + 38/101 + 38/122 + 38/60020 = 8 + 4 + 8 + 20 = 40
R34 = 8 + 40/101 + 40/122 + 40/60020 = 8 + 4 + 8 + 20 = 40
El sistema es planificable con la asignacin de prioridades: P(1)=4, P(2)=3, P(3)=1, P(4)=2
5. Dado el siguiente conjunto de tareas, comprobar si hay alguna asignacin de prioridades
para dicho conjunto de forma que sea planificable.
1
2
3
4

T
100
10
14
50

C
1
4
6
8

Solucin:
Para el anterior conjunto de tareas, la asignacin de prioridades mediante RM es ptima
si el sistema no es planificable mediante RM no lo ser con ninguna otra asignacin.

CUESTIONES TEMA 5. "SCHEDULING"


R2 = 4
R30 = 6
R31 = 6 + 6/104 = 10
R32 = 6 + 10/104 = 10 R3 = 10
R40 = 8
R41 = 8 + 8/104 + 8/146 = 18
R42 = 8 + 18/104 + 18/146 = 8 + 8 + 12 = 28
R43 = 8 + 28/104 + 28/146 = 8 + 12 + 12 = 32
R44 = 8 + 32/104 + 32/146 = 8 + 16 + 18 = 42
R45 = 8 + 42/104 + 42/146 = 8 + 20 + 18 = 46
R46 = 8 + 46/104 + 46/146 = 8 + 20 + 24 = 52 > 50 La tarea 4 pierde su plazo
El sistema no es planificable con ninguna asignacin de prioridades.
6. Dados los procesos P, Q, S, con las siguientes caractersticas. P: periodo 3, tiempo de
cmputo 1; Q: periodo 6, tiempo de cmputo 2; S: periodo 18, tiempo de cmputo 5.
Muestra de forma grfica cmo pueden planificarse dichas tareas utilizando RM.
Planifica dichas tareas utilizando un ejecutivo cclico.
Solucin:
T
P
3
Q
6
S
18
P

C
1
2
5

P
3
2
1

S1
1

S
0

S2
10 11

12

13

14

15

S3
16 17

Dividimos la tarea S en tres procedimientos: S = S1 + S2 + S3


procedure Ejecutivo_Ciclico is
type t_ciclo is mod 6;
contador: t_ciclo := 0;
Periodo: const Duration := 3.0;
Siguiente: Time;
begin
Siguiente := Clock + Periodo;
loop
case Contador is
when 0 | 2 | 4 => P; Q;
when 1 => P; S1;
when 3 => P; S2;
when 5 => P; S3;
end case;
contador := contador + 1;
delay until Siguiente;
Siguiente := Siguiente + Periodo;
4

CUESTIONES TEMA 5. "SCHEDULING"


end loop;
end Ejecutivo_Cliclico;

7. Dado el siguiente conjunto de tareas, indica cmo pueden ser planificadas de forma
ptima. Dicho conjunto de tareas, es planificable?
1
2
3

T
8
10
30

C
4
2
5

B
2
2
2

D
8
5
30

Solucin:
Para planificar el conjunto de forma ptima es necesario seguir un procedimiento de prueba
y error (ver ltima transparencia de la parte 3 de scheduling), ya que hay bloqueos entre
tareas. Probaremos, sin embargo, el DM pues la mayora de las veces devuelve la
asignacin de prioridades ptima.
P(1)=2, P(2)=3, P(3)=1
R2 = 2 + 2 = 4
R10 = 4 + 2 = 6
R11 = 4 + 2 + 6/102 = 8
R12 = 4 + 2 + 8/102 = 8 R1 = 8
R30 = 5 + 2 = 7
R31 = 5 + 2 + 7/102 + 7/84 = 7 + 2 + 4 = 13
R32 = 5 + 2 + 13/102 + 13/84 = 7 + 4 + 8 = 19
R33 = 5 + 2 + 19/102 + 19/84 = 7 + 4 + 12 = 23
R34 = 5 + 2 + 23/102 + 23/84 = 7 + 6 + 12 = 25
R35 = 5 + 2 + 25/102 + 25/84 = 7 + 6 + 16 = 29
R36 = 5 + 2 + 29/102 + 29/84 = 7 + 6 + 16 = 29 R3 = 29
Ninguna tarea pierde su plazo el sistema es planificable
8. Dado el siguiente conjunto de tareas {w,x,y,z}, que comparten los recursos A y B, y con
los siguientes requerimientos de ejecucin, representa el diagrama temporal de
ejecucin de dichas tareas segn dichos requerimientos. Asume que se utiliza el
protocolo de techo de prioridades original, y representa el grfico de ejecucin.
W
X
Y
Z

P
10
8
6
4

R.T.
7
2
5
0

C
5
6
4
5

X
EAA'BB'
EBAA'B'E
EEEE
EAAA'E

R.T. Tiempo de "lanzamiento" (release time)


X: Secuencia de ejecucin de la tarea
A, B: peticin y uso de los recursos
A',B': liberacin de los recursos

Solucin:
Nota: no se especifican los periodos y plazos de las tareas. Por lo tanto se asumir una
nica activacin de cada una de las tareas.
Techo(A) = Techo(B) = 10

CUESTIONES TEMA 5. "SCHEDULING"


w

B
E

y
z

E
E
0

A
1

A
3

A
4

E
10 11 12 13 14 15 16 17 18 19

9. Dado el conjunto de tareas del ejercicio 8, ilustra el comportamiento de dichas tareas


utilizando el protocolo de techo de prioridades inmediato
Solucin:
w
x

y
z

E
E
0

A
1

A
2

A
3

E
10 11 12 13 14 15 16 17 18 19

10. Dado el siguiente conjunto de tareas, comprueba si son planificables o no utilizando el


test de factores de utilizacin y el test de tiempos de respuesta (considera una poltica de
recursos de techo de prioridades original)
1
2
3

T
2
4
8

C
1
1
2

B
1
1
0

Solucin:
U = (1/2) + (1/4) + (2/8) = 1 No podemos decir nada mediante el test de utilizacin
R1 = 1 +1 = 2
R20 = 1 + 1 = 2
R21 = 1 + 1 + 2/21 = 3
R22 = 1 + 1 + 3/21 = 4
R23 = 1 + 1 + 4/21 = 4 R2 = 4
R30 = 2
R31 = 2 + 2/21 + 2/41 = 4
R32 = 2 + 4/21 + 4/41 = 5
R33 = 2 + 5/21 + 5/41 = 7
R34 = 2 + 7/21 + 7/41 = 8
R35 = 2 + 8/21 + 8/41 = 8 R3 = 8
Ninguna tarea pierde su plazo el sistema es planificable.
6

CUESTIONES TEMA 5. "SCHEDULING"


11. Dado el siguiente conjunto de tareas {1, 2, 3, 4}, con prioridad decreciente, y que
comparten los recursos A, B, C y D, accedidos utilizando el protocolo de herencia de
prioridades, calcula el mximo tiempo de bloqueo Bi para cada tarea, conociendo la
mxima duracin de uso Di,R para cada tarea
1
2
3
4

A
12
10
0
10

B
5
0
3
0

C
9
7
0
8

D
8
0
7
0

E
0
6
13
5

Solucin:
B4 = 0, puesto que es la tarea de menor prioridad.
B3 = D4,A + D4,C = 10 + 8 = 18
B2 = D4,A + D4,C + D3,B + D3,D = 10 + 8 + 3 + 7 = 28
B1 = D4,A + D4,C + D3,B + D3,D + D2,A + D2,C = 10 + 8 + 3 + 7 + 10 + 7 = 45
12. Dadas las siguientes tareas peridicas y aperidicas, indica el tiempo mximo de
respuesta para las actividades aperidicas utilizando un servidor en background, un
servidor por consulta, un servidor diferido y un servidor espordico, con Cs= 2, y Ts=5
1
2

T
4
6

C
1
2

a1
a2
a3
a4

T.Ll.
2
8
12
19

C
2
1
2
1

T.Ll.= tiempo de llegada de la tarea


aperidica
Comprueba la planificabilidad del sistema

Solucin:
a) Servidor en background:
P(1) = 3, P(2) = 2 y P(S) = 1
1
2
A

a1

a2

a3

a3

a4

10 11 12 13 14 15 16 17 18 19 20 21 22 23 24

R(a1) = 4, R(a2) = 2, R(a3) = 6 y R(a4) = 3


U = (1/4) + (2/6) = 0,583 < 82,8% El sistema es planificable.
b) Servidor por consulta:
P(1) = 3, P(2) = 1 y P(S) = 2 (asignamos las prioridades mediante el RM)

CUESTIONES TEMA 5. "SCHEDULING"


1
2
a1

a2

a3

a1
0

a4
a3

10 11 12 13 14 15 16 17 18 19 20 21 22 23 24

R(a1) = 5, R(a2) = 3, R(a3) = 6 y R(a4) = 3


R1 = 1
R20 = 2
R21 = 2 + 2/41 + 2/52 = 5
R22 = 2 + 5/41 + 5/52 = 6
R22 = 2 + 6/41 + 6/52 = 8 > 6 La tarea 2 puede perder su plazo. El sistema no es
planificable
c) Servidor diferido:
Usamos las mismas prioridades que con el servidor por consulta.
1
2
a1
S

a2

a3

a4
a3

10 11 12 13 14 15 16 17 18 19 20 21 22 23 24

R(a1) = 2, R(a2) = 2, R(a3) = 3 y R(a4) = 1


Up ln((Us + 2) / (2Us + 1)) 0,583 ln((2/5 + 2) / (4/5 + 1)) 0,583 ln(2,4 / 1,8)
0,583 0,287 No podemos garantizar la planificabilidad.
Aunque no tengamos una frmula para comprobar la planificabilidad, se puede comprobar
fcilmente en el cronograma que el sistema no es planificable (por ejemplo, si la peticin a2
hubiera llegado en el instante 5, la tarea 2 hubiera perdido su plazo).
d) Servidor espordico:
Usamos las mismas prioridades que con el servidor por consulta.
1
2
a1
S

a2
A

a4
a3

a3

10 11 12 13 14 15 16 17 18 19 20 21 22 23 24

CUESTIONES TEMA 5. "SCHEDULING"


R(a1) = 2, R(a2) = 2, R(a3) = 3 y R(a4) = 1
Up ln(2 / (Us + 1)) 0,583 ln(2 / (2/5 + 1)) 0,583 0,356 No podemos garantizar la
planificabilidad.
Aunque no tengamos una frmula para comprobar la planificabilidad, se puede comprobar
mediante un cronograma que el sistema no es planificable (por ejemplo, si las peticiones a1
y a2 hubieran llegado en los instantes 0 y 5 respectivamente, la tarea 2 hubiera perdido su
plazo).