Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Guia Ejercicios Planif-Sinc PDF
Guia Ejercicios Planif-Sinc PDF
Graciela De Luca
Planificacin , Sincronizacin y comunicacin de Procesos.
Universidad Tecnolgica Nacional
Planificacin
Si suponemos que tenemos un algoritmo de planificacin que utiliza una poltica FIFO
a) Tiempo medio de respuesta
b) Tiempo medio de espera
c) La penalizacin, es decir, el cociente entre el tiempo de finalizacin y el tiempo de CPU.
Resolucin
Diagrama de Gannt
E X
D X
C X
B X
A X
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Cola de Listos
B, C, A , D, E
X = tiempo de llegada al sistema
TfA=6
TfB=5
TfC=8
TfD=5
TfE=3
a) Tmedioderespuesta= (6+5+8+5+3)/5 = 5,4
b) TeA=5
TeB=0
TeC=4
TeD=2
TeE=1
Tesp= 5+0+4+2+1= 12
5
c) TpenalA=6/1 TpenalB=5/5
TpenalC=8/4 TpenalD=5/3
TpenalE=3/2
2. Utilizando los valores del problema de la tabla anterior, calcular los tiempos medios de espera y
respuesta para los siguientes algoritmos:
a) Round-Robin con quantum q=1.
b) Round-Robin con quantum q=4.
Pgina 1/24
Guia de Ejercicios de Sistemas Operativos Prof. Graciela De Luca
Planificacin , Sincronizacin y comunicacin de Procesos.
Universidad Tecnolgica Nacional
a)
A X
B X
C X
D X
E X
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
T=0 la cola de listos solo tiene a B y este pasa a ejecutar
T=1 se le acaba el quantum de tiempo al B y llega C como la int. de reloj tiene prioridad, entonces B pasara a la
cola de listos y C queda detrs B pasa a ejecutar nuevamente.
T=2 se produce el intercambio BC queda B en copla de listos.
T=3 se produce el intercambio CB queda C en cola de listos.
T=4 se produce el intercambio BC primero y luego se carga A quedan B, A en la cola de listos (en ese
orden).
T=5 se produce el intercambio CB . Quedan A, C en cola de listos.
T=6 se produce el intercambio BA . Quedan C, B en cola de listos.
T=7 se produce el intercambio AC . Quedan B en cola de listos, ya que A finaliz.
T=8 se produce el intercambio CB . Quedan C, D (llega en ese momento) en cola de listos.
T=9 se produce el intercambio BC . Queda D en cola de listos, ya que el B finaliza.
T=10 se produce el intercambio CD . Queda vaca la cola de listos , ya que el C finaliza.
T=11 contina ejecutando D ya que no hay procesos en cola de listos.
T=12 se le acaba el quantum de tiempo al D y llega E como la int. de reloj tiene prioridad, entonces D pasara a
la cola de listos y E queda detrs D pasa a ejecutar nuevamente.
T=13 se produce el intercambio DE . Queda vaca la cola de listos , ya que el D finaliza.
T=14 contina ejecutando ya que no hay procesos en cola de listos.
T=15 E finaliza.
TeA=2
TeB=4
TeC=5
TeD=2
TeE=1
TeProm=(2+4+5+2+1)/5=2,8
Tiempo de respuesta
TrA=7-4=3
TrB=9-0=9
TrC=10-1=9
TrD=13-8=5
TrE=15-12=3
Trprom=(3+9+9+5+3)/5=5,8
b) q=4
Pgina 2/24
Guia de Ejercicios de Sistemas Operativos Prof. Graciela De Luca
Planificacin , Sincronizacin y comunicacin de Procesos.
Universidad Tecnolgica Nacional
A X
B X
C X
D X
E X
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
Tiempo de espera = T finalizacin-T llegada-T CPU
TeA=5
TeB=4
TeC=3
TeD=2
TeE=1
TeProm=(5+4+3+2+1)/5=3
Tiempo de respuesta
TrA=10-4
TrB=9-0=9
TrC=9-1=8
TrD=13-8=5
TrE=15-12=3
Trprom=(4+4+8+5+3)/5=4,8
3. Calcular el tiempo de espera medio para los procesos de la tabla utilizando el algoritmo Primero el de
tiempo restante menor (SRTF).
Este es un algoritmo Preemptive , donde se otorga el procesador al que menor tiempo restante estimado tiene.
A X
B X
C X
D X
E X
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
TeA=1
Pgina 3/24
Guia de Ejercicios de Sistemas Operativos Prof. Graciela De Luca
Planificacin , Sincronizacin y comunicacin de Procesos.
Universidad Tecnolgica Nacional
TeB=0
TeC=11
TeD=0
TeE=2
TeProm=(1+0+11+0+2)/5=2,8
Tiempo de respuesta
TrA=4-0=4
TrB=2-1=1
TrC=25-3=22
TrD=14-9=5
TrE=19-12=7
Trprom=(4+1+22+5+7)/5=7,8
4. Utilizando la tabla del ejercicio anterior, dibujar el diagrama GANTT para el caso de un sistema que
utiliza un algoritmo con prioridades:
Proceso Prioridad
A 2
B 1
C 4
D 5
E 3
A X
B X
C X
D X
E X
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
TeA=0
TeB=2
TeC=1
TeD=12
TeE=4
TeProm=(0+2+1+12+4)/5=3,8
Tiempo de respuesta
TrA=3-0=3
TrB=4-1=3
Pgina 4/24
Guia de Ejercicios de Sistemas Operativos Prof. Graciela De Luca
Planificacin , Sincronizacin y comunicacin de Procesos.
Universidad Tecnolgica Nacional
TrC=16-3=13
TrD=26-9=17
TrE=21-12=9
Trprom=(3+3+13+17+9)/5=9
RESPUESTA:
A
B
C
D
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
T=0 T=5
READY READY
A B D C
T=1
READY
B
T=2
READY
C
T=3
READY
A B
T=4
READY
A B D
Pgina 5/24
Guia de Ejercicios de Sistemas Operativos Prof. Graciela De Luca
Planificacin , Sincronizacin y comunicacin de Procesos.
Universidad Tecnolgica Nacional
T=6 READY
READY A B
D C T=13
T=7 READY
READY B C
C A B T=14
T=10 READY
READY C
C A B
T=12
b) Q=3
A
B
C
D
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
T=0 T=6
READY READY
A D C
T=1 T=7
READY READY
B C A B
T=2 T=9
READY READY
C C A B D
T=3 T=11
READY READY
A B A B D
T=4 T=12
READY READY
A B D B D C
T=13
T=5 READY
READY D C
B D C T=14
READY
C
Pgina 6/24
Guia de Ejercicios de Sistemas Operativos Prof. Graciela De
Luca
Planificacin , Sincronizacin y comunicacin de Procesos.
Universidad Tecnolgica Nacional
3
1 8
New Ready Exec Fin
2
5
Disco
4
7
6
Impresora
Se pide calcular el tiempo de Finalizacin de cada proceso y mostrar la ejecucin de cada mdulo
del Sistema Operativo.
S 1 1 2 3 2 4 2 4 5 2 5 6 2 4 5 7 2 8 2 8
O A B A A B B A A B B A B A A A B A A B B
d i s c o I M P R E
B
d i s c o
A
0 5 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 1 5 1 1 2 2 3 3 4 4 5 5 6 6 7
0 5 0 5 0 5 0 5 0 5 0 5 0 5 0 5 0 5 0 0 5 0 5 0 5 0 5 0 5 0 5 0
0
8. Se deben itinerar 5 procesos con distintos algoritmos. Los procesos llegan todos al mismo
tiempo en el siguiente orden: P1, P2, P3, P4 y P5.
El tiempo de CPU y las prioridades son:
Pgina 7/24
Guia de Ejercicios de Sistemas Operativos Prof. Graciela De
Luca
Planificacin , Sincronizacin y comunicacin de Procesos.
Universidad Tecnolgica Nacional
9. Final 22-07-2006
19 de Julio de 2006 9 PM, en una importante empresa de telefona celular en EEUU. Nick, el Administrador de servidores,
estuvo monitoreando un nuevo servidor que se compr para dar servicio de mensajes de texto a los clientes, cuyo software fue
desarrollado por Tom. Durante dicho monitoreo, Nick ve que los indicadores de performance del sistema no son los correctos,
por lo que decide realizar un anlisis de la situacin. Durante los primeros 15 minutos de anlisis nota que est corriendo en el
sistema operativo XP un proceso que no es fcilmente identificable, ya que el mismo ejecuta de forma espordica, lo que hace
que afecte a los procesos que se encuentran corriendo en el servidor. Dicha situacin es preocupante debido que la Compaa
no podr brindar un buen servicio a los clientes, justo cuando mayor es la utilizacin de este tipo de servicio, debido a la
vspera del Da del Amigo.
Es por ello, que Nick decide llamar a Tom para ver si l le puede dar una solucin. Lo que l le indica es que el sistema
operativo utiliza un planificador Round Robin con un quantum de 3 ciclos con una nica cola de bloqueados que atiende por
FIFO. Esta cola de bloqueados tiene prioridad por sobre la de listos. A su vez, Tom le enva por fax a Nick el siguiente detalle
con la ejecucin de los 4 procesos que ejecuta el SW:
P1 P2 P3 RCA Referencias
ULT A ULT B
0 1 2 ---------- T. Llegada en Ciclos
3 4 1 3 4 CPU (En Ciclos)
6 2 2 2 IO (En Ciclos)
1 2 1 1 CPU (En Ciclos)
2 3 IO (En Ciclos)
1 1 CPU (En Ciclos)
RCA
HB X
HA X
P3 X
P2 X
P1
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 2
5
Condiciones Q=3 ciclos del S.O. para el Round Robin. q = 2 ciclos biblioteca de Threads
Pgina 8/24
Guia de Ejercicios de Sistemas Operativos Prof. Graciela De
Luca
Planificacin , Sincronizacin y comunicacin de Procesos.
Universidad Tecnolgica Nacional
1) T=0 el nico procesos en el sistema es P1 12) T=15 RCA ejecuta 1 ciclo y finaliza
pasa a ejecucin. Ready
2) T=1 P1 est en ejecucin P2 P1 P3:HB
Ready Bloqueados I/O
P2
3) T=2 Llega el proceso 3 con sus 2 hilos
P1 est en ejecucin 13)T=16 P2 ejecuta
Ready Ready
P2 P3 P1 P3:HB
4) T=3 P2 est en ejecucin Bloqueados I/O
Ready
P3
Bloqueados I/O 14)T=18 Ejecuta P1 y finaliza
P1 Ready
5) T=6 P3 est en ejecucin P3:HB
HA ejecuta 1 ciclo y pide I/O Bloqueados I/O
Ready P2
P2 15) T=19 Ejecuta P3:HB
Bloqueados I/O Ready
P1
6) T=7 P2 est en ejecucin Bloqueados I/O
Ready
P2 16) T=20 Ejecuta RCA
Bloqueados I/O Ready
P1 P3:H1
7) T=8 RCA pasa a ejecucin durante 3 ciclos Bloqueados I/O
Ready P2 P3:HB
P2 17) T=21 Ejecuta RCA
Bloqueados I/O Ready
P1 P3:HA P2 P2
8) T=9 RCA en ejecucin Bloqueados I/O
Ready P3:HB
P1 18) T=23 Ejecuta P2 y finaliza
Bloqueados I/O Ready
P3:H3 P2 P3:HB RCA
9) T=11 P1 pasa a ejecucin Bloqueados I/O
P3 vuelve de I/O y RCA termina su quantum, como
I/O tiene prioridad entonces queda : 19) T=24 Ejecuta P3:HB
Ready Ready
P3 RCA RCA
Bloqueados I/O Bloqueados I/O
P2
10) T=12 P3:HA pasa a ejecutar 1 ciclo y finaliza. 20) T=25 Ejecuta RCA y finaliza
Ready Ready
RCA
Bloqueados I/O Bloqueados I/O
P2 P1
11 ) T=13 P3:HB durante 2 quantums
Ready
RCA P2
Bloqueados I/O
P1
Pgina 9/24
Guia de Ejercicios de Sistemas Operativos Prof. Graciela De
Luca
Planificacin , Sincronizacin y comunicacin de Procesos.
Universidad Tecnolgica Nacional
10.
FINAL 06/12/2003
Un sistema computacional de un solo procesador planifica el procesamiento de trabajos segn el siguiente
modelo:
Fin de Quantum
Cola de E/S
E/S
Planificacin
Largo Plazo
Planificacin Corto Plazo
Para la resolucin del ejercicio, si existe coincidencia de tiempos en los eventos de entrada a la cola
de corto plazo, ordnelos arbitrariamente en el siguiente orden: 1) fin de E/S, 2) Cola de Largo
Plazo y 3) fin de quantum.
Suponiendo que el overhead para el cambio de contexto es despreciable y que existe un nico
dispositivo de E/S (el cual planifica FIFO) se pide la traza de ejecucin de los procesos mediante un
Diagrama de Gantt.
SOLUCIN
CPU P2 P2 P1 P1 P3 P3 P1 P1 P2 P2 P3 P1 P2 P5 P5 P3 P3 P4 P4 P1 P1 P4 P4 P5 P5
E/S P2 P2 P2 P2 P3 P3 P3 P3 P1 P1 P1 P5 P5 P5
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
CPU P1 P4 P4 P6 P6 P4 P4 P6 P6 P6 P6 P6
Pgina 10/24
Guia de Ejercicios de Sistemas Operativos Prof. Graciela De
Luca
Planificacin , Sincronizacin y comunicacin de Procesos.
Universidad Tecnolgica Nacional
E/S P4 P4 P6 P6 P6 P6
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
11. Un sistema distribuido cuenta con dos maquinas Pentium 200 MMX con 65 Mb de memoria.
La maquina A usa algoritmo SRT (Shortest Remaining time) para dispacher y solo posee un disco
rgido de 1.8 Gb y la maquina B usa algoritmo FIFO y tiene una impresora lser blanco y negro.
Solo se migran los procesos por la falta de recursos, y esto consume un ciclo de reloj. Dibuje
cada cola de Listos, ejecutados y bloqueado para cada ciclo. Los relojes de ambas maquinas
estn perfectamente sincronizados.
12. De un ejemplo donde el algoritmo que utiliza TSL produce inanicin (Starvation)
Supongamos que tenemos tres procesos A, B y C y las variable ocupado=0
READY
A
B
BLOCK
READY
B
C, A
BLOCK
Pgina 11/24
Guia de Ejercicios de Sistemas Operativos Prof. Graciela De
Luca
Planificacin , Sincronizacin y comunicacin de Procesos.
Universidad Tecnolgica Nacional
Luego pasa B a ejecucin y hace TSL(ocupado) quedando en espera activa . Luego C pasa de
bloqueados a Listos, ubicndose detrs de A en la cola.
Cuando se le acaba el quantum de tiempo a B pasa a Listos y A a EJECUCIN.
READY
A
B, C
BLOCK
A coloca ocupado = 0
Cuando C pasa a ejecucin hace TSL(ocupado) como ocupado estaba en 0 lo coloca en 1 y pasa a
utilizar la regin critica, ingresando a esta antes que B y si esta situacin se repite B puede padecer
inanicin
13. dados los procesos A y B con variables compartidas, se pide verificar si pueden ejecutar en
paralelo. De no ser as en que orden podran ejecutar.
A B
c=b+d m=6*x+k
h=c+f+g print m/c
print c
RAWB= RBWA={c}
WAWB=
c=b+d
h=c+f+g m=6*x+k
print c print m/c
14. Dado el siguiente grafo de precedencia, colocar los semforos para asegurar la ejecucin de
los procesos en ese orden.
Pgina 12/24
Guia de Ejercicios de Sistemas Operativos Prof. Graciela De
Luca
Planificacin , Sincronizacin y comunicacin de Procesos.
Universidad Tecnolgica Nacional
RESOLUCIN
S1 S2 S3 S4
P(a) P(b1) P(b2) P(b3)
---- ----- ----- -----
---- ----- ----- -----
---- ----- ----- -----
V(b1) V(c1) v(d3) V(d4)
V(b2) V(c2)
V(b3)
S5 S6
P(c1) P(c2)
--------- ----------
--------- ----------
--------- ----------
V(d1) v(d2)
S7
P(d1)
P(d2)
P(d3)
P(d4)
------
-----
-----
V(a)
Pgina 13/24
Guia de Ejercicios de Sistemas Operativos Prof. Graciela De
Luca
Planificacin , Sincronizacin y comunicacin de Procesos.
Universidad Tecnolgica Nacional
X=199 X=500
X=x+1 X=X/10
Print (X) Print(X)
RESOLUCIN
a.- Como no se necesita darle un orden a la ejecucin slo se debe poner mutua exclusin, por
lo tanto con un semforo basta.
A B
P(mutex) P(mutex)
X=199 X=500
X=x+1 X=X/10
Print (X) Print(X)
V(mutex) V(mutex)
b.- Aqu se necesita darle un orden a la ejecucin por lo tanto se utilizar semforos cruzados.
A B
P(s) P(k)
X=199 X=500
X=x+1 X=X/10
Print (X) Print(X)
V(k) V(s)
16. Colocar los semforos de tal manera que los procesos A, B, C ejecuten siempre en la
secuencia ABCABC
A B
P(s) P(k) P(r)
----- ---- ----
------ ---- ----
----- ---- ----
V(k) V(r) V(s)
17. Colocar los semforos de tal manera que los procesos A, B, C ejecuten siempre en la
secuencia BACABACA
B C
P(s) P(k)
---- ----
---- ----
V(k) V(s)
Pgina 14/24
Guia de Ejercicios de Sistemas Operativos Prof. Graciela De
Luca
Planificacin , Sincronizacin y comunicacin de Procesos.
Universidad Tecnolgica Nacional
A B C
P(a) P(s) P(k)
---- P(b) P(b)
---- ---- ----
---- ----
V(b) V(k) V(s)
V(a) V(a)
18. Colocar los semforos de tal manera que los procesos A, B, C ejecuten siempre en la
secuencia A(BC)A(BC)
Si queremos que BC ejecuten solo uno a la vez podramos reemplazarlos por un proceso X
A X
P(k) P(s)
---- ----
---- ----
V(s) V(k)
B C
P(s) P(s)
---- ----
---- ----
V(k) V(k)
A B C
P(k) P(s) P(s)
---- ---- ----
---- ---- ----
19. Colocar los semforos de tal manera que los procesos A, B, C ejecuten siempre en la
secuencia A(ByC)A(ByC)
A
P(k)
P(k)
----
----
V(s)
V(a)
Pgina 15/24
Guia de Ejercicios de Sistemas Operativos Prof. Graciela De
Luca
Planificacin , Sincronizacin y comunicacin de Procesos.
Universidad Tecnolgica Nacional
B C
P(s) P(a)
---- ----
---- ----
V(k) V(k)
20. El que sigue nos muestra 2 procesos concurrentes que comparten una variable global x (las
restantes variables son locales a los procesos).
a) Sincronizar los procesos para que P1 use todos los valores x suministrados por P2.
Declaracin, Inicializacin de Variables y Semforos
var x: entero
P1 P2
While (TRUE) while (TRUE)
{ {
P(s) P(k)
m = 2 * x n; leer_teclado (d);
imprimir (m); x := d c * 5;
V(k) V(s)
} }
s=0, k=1
b) Sincronizar los procesos para que P1 utilice un valor S y otro No de la variable x, es decir,
utilice los valores primero, tercero, quinto, etc.
Pgina 16/24
Guia de Ejercicios de Sistemas Operativos Prof. Graciela De
Luca
Planificacin , Sincronizacin y comunicacin de Procesos.
Universidad Tecnolgica Nacional
Otra solucin:
Proceso A Proceso B
{ {
while (TRUE) while (TRUE)
x = x + 1; print (x);
} }
22. Dadas la siguiente secuencia lgica y los valores iniciales de los semforos, verificar si esta
es la secuencia normal de ejecucin y si est bien realizada la sincronizacin.
X Y Z
P(S) P(R) P(R)
P(C) P(B)
V(C)
V(R) V(B)
V(S) V(S)
Con los valores iniciales de S=1,R=0,B=0,c=1 y cuya secuencia normal de ejecucin sera
XYXZXYXZ
S R C B X Y Z Q
1 0 1 0
0 P(S)
0 P(C)
----
1 V(R)
1 V(S)
0 P(R)
-1 P(B) Y QB
0 P(S)
-1 P(C) X QC
-1 P(R) Z QR
Pgina 17/24
Guia de Ejercicios de Sistemas Operativos Prof. Graciela De
Luca
Planificacin , Sincronizacin y comunicacin de Procesos.
Universidad Tecnolgica Nacional
P(C)
Esta sincronizacin esta mal realizada ya que todos los procesos terminan bloqueados.
23.
Explique qu pasa con la rutina A:
P(R)
P(S)
P(T)
....
V(T)
V(S)
V(R)
desde el momento en que en la ejecucin de V(T) los valores de los semforos son T = -1, S = -1, R=
0, hasta que finalice ella de ejecutarse ntegra.
RTA:
T S R
-1 -1 0
V(T) 0 -1 0
V(S 0 0 0
V(R) 0 0 1
X Y Z Q
P(B) P(S) P(C) P(D)
P(T) ... ... ...
... ... ... ...
V(C) V(T) V(D) V(B)
V(S)
Valores iniciales S =1, T=0, B=1, C=0, D=0. Explique cul es la secuencia normal de ejecucin.
RESPUESTA:
Para encontrar la secuencia normal de ejecucin debemos seguir los valores de los semforos
habilitados .
Como S=1 y B=1 podramos comenzar por la ejecucin con X, pasa el semforo B y se bloque a en
el semforo T , por lo tanto solo podr ejecutar Y primero Y ,cuando este finaliza habilita el sem. T
,entonces ejecuta X . este habilita el semforo C , entonces puede ejecutar Z, que habilita el sem D y
puede ejecutar Q que deja B=1 y S=1
la secuencia normal es YXZQ
Pgina 18/24
Guia de Ejercicios de Sistemas Operativos Prof. Graciela De
Luca
Planificacin , Sincronizacin y comunicacin de Procesos.
Universidad Tecnolgica Nacional
P1 P2
Y=:1
For i= n k +1 to n do For j=2 to k do
{ {
X = x + i;
y:=y * j;
}
}
escribir (x/y);
P1 P2
Y=:1
For i= n k +1 to n do For j=2 to k do
Begin Begin
X = x + i; y:=y*j;
End; end
Signal (s) wait (s);
escribir (x/y);
28. Final:03/03/2001
Ejercicio 2
Muestre en forma clara de que manera se ejecutarn los siguientes procesos, considerando que se
ejecutan en paralelo, y detalle que procesos terminaron y cuales no y por que razn.
I, B, A, C, P = 0
M, K, G = 1
P1 P2 P3 P4 P5 P6
Pgina 19/24
Guia de Ejercicios de Sistemas Operativos Prof. Graciela De
Luca
Planificacin , Sincronizacin y comunicacin de Procesos.
Universidad Tecnolgica Nacional
D(I) D(M) U(B) D(A) U(C) D(K)
U(I) U(A) D(C) D(A) D(P) U(A)
D(P) D(I) D(G) U(I) D(M) D(I)
U(P) U(I) U(G) D(K) D(G) U(I)
D(K) D(K) U(K) U(M) D(M)
U(M) D(P) D(K) U(K)
Resolucin:
A B C G I K M P P1 P2 P3 P4 P5 P6
0 0 0 1 0 1 1 0
Bloqueados:
Deadlock:
Starvation:
Termina:
29/12/01
P1 P2 P3 P4 P5
D(M) D(E) D(R) D(B) D(C)
D(I) D(B) D(I) D(c) U(A)
U(R) D(A) D(J) D(O) U(I)
U(J) U(E) U(E) U(E) U(C)
U(I) D(L) U(I) D(P) U(M)
U(P) U(A) U(B) U(L) U(O)
Resolucin:
A B C E I J L M O P R P1 P2 P3 P4 P5
Pgina 20/24
Guia de Ejercicios de Sistemas Operativos Prof. Graciela De
Luca
Planificacin , Sincronizacin y comunicacin de Procesos.
Universidad Tecnolgica Nacional
0 0 1 0 0 0 0 0 0 0 0
17/02/2001
De existir, muestre una secuencia de eventos para los cuales P1 , y P2 entran en DEADLOCK. Los
semforos son: s1, s2 (Semforos Mutex).
Respuesta:
El enunciado nos dice que ambos semforos (s1 y s2) son Mutex. Esto quiere decir que se
encuentran inicializados en 1.
Ambos procesos (p1 y p2) se ejecutan al mismo tiempo. Cuando P1 ejecuta la sentencia: Down (s1);
S1 que estaba en 1 pasa a estar en 0 y supongamos que en ese instante se le acaba el quantum de
tiempo y ejecuta P2 haciendo un Down (s2); S2 estaba en 1 pasa a estar en 0 y cuando P2 ejecute
S1 queda bloqueado. Cuando le vuelve a tocar el procesador a P1 ejecuta S2 y queda bloqueado
Pgina 21/24
Guia de Ejercicios de Sistemas Operativos Prof. Graciela De
Luca
Planificacin , Sincronizacin y comunicacin de Procesos.
Universidad Tecnolgica Nacional
Entonces ambos procesos quedan en DEADLOCK
29. En un sistema de computacin real, ni los recursos disponibles ni los requerimientos de los
procesos por recursos se mantienen por largo tiempo. Los recursos se rompen o son
reemplazados, los procesos vienen y van, se agregan nuevos recursos al sistema, etc.
Si en tal sistema, los bloqueos se controlan con el algoritmo del banquero, cules de los
siguientes cambios se puede hacer con seguridad (sin introducir posibilidad de bloqueos) y bajo
qu circunstancias?:
30. Hallar la matriz de necesidad. Tener en cuenta que el sistema usa el Algoritmo del Banquero
para bloquear a los procesos que piden ms recursos que los disponibles. Solo se asignara a
un proceso los recursos que necesite, si estos son todos los que va a necesitar para completar
la ejecucin.
El nmero de los procesos corresponde con el orden de llegada. Se deber utilizar el algoritmo de
planificacin FCFS.
Adems indicar si el sistema es seguro o no (o sea verificar si ningn proceso queda sin los
recursos necesarios).
31. Escribir un algoritmo para sincronizar el paso de vehculos sobre un puente con una sola
direccin de circulacin. Los vehculos arriban al puente desde ambas direcciones, pero slo
pueden pasar de una direccin por vez. No hay restriccin acerca de la cantidad de vehculos
que pueden estar sobre el puente al mismo tiempo. Hay starvation?; si la hay, cmo hacer
pare evitarla?. Puede haber Deadlock?. Explicar porqu.
32. Se tienen 3 procesos: P1, P2 y P3: El cdigo del proceso Pi (i=1, 2, 3) es:
Pgina 22/24
Guia de Ejercicios de Sistemas Operativos Prof. Graciela De
Luca
Planificacin , Sincronizacin y comunicacin de Procesos.
Universidad Tecnolgica Nacional
1. Definir los semforos e inicializarlos correctamente. Usar el mnimo nmero de
semforos
2. Reescriba los tres procesos con los semforos incorporados
b) Sincronizar mediante mensajes. Se pide el mnimo cdigo. Cmo parte?
X Y Z W
S1 S2 S1 S3
P
S2 S3
V3 V2 V1 V3
V
V1
34. Dados los siguientes procesos con su respectivos cdigos y los valores iniciales de los
semforos A =0, B= 1, C = 1, D=0.
X Y Z W
P(C) P(D) P(C) P(A)
a) Indique los procesos que terminaron (y en que orden) y los que no.
Secuencia: Y- Z - X -W.
35. Cambie los semforos del ejercicio anterior para que el sistema sea SEGURO y no quede
ningn proceso bloqueado.
36. . Los siguientes procesos se ejecutan en paralelo. Utilizando semforos, especifique cuales
terminaron y cuales no.
P1 P2 P3 P4 P5 P6
D(I) D(M) U(B) D(A) U(C) D(K)
U(I) U(A) D(C) D(A) D(P) U(A)
D(P) D(I) D(G) U(I) D(M) D(I)
U(P) U(I) U(G) D(K) D(G) U(I)
D(K) D(K) U(K) U(M) D(M)
U(M) D(P) D(K) U(K)
U(P) U(G) U(P)
37.
-Realice la sincronizacin de 4 procesos
A ---> |____10______| --->BDBD(una vez cada uno, en ese orden) ----->|colalimitada------> C
-Genera mensajes - Retira mensajes -Retira mensajes
Pgina 23/24
Guia de Ejercicios de Sistemas Operativos Prof. Graciela De
Luca
Planificacin , Sincronizacin y comunicacin de Procesos.
Universidad Tecnolgica Nacional
-Deposita mensajes - Procesa el mens Consume el mens.
-Deposita mens.
38.
Realice la sincronizacin de 4 procesos
A ----> |______ilimitada____| ----->B--->|___5___|------> C y D (en forma alternada estrictamente)
-Genera mensajes - Retira mensajes -Retira mensajes
-Deposita mensajes - Procesa el mens -Consume el mens.
-Deposita mens.
39. Tengo un proceso productor que deposita los mensajes en un Buffer de 30 posiciones. Luego
los retira y los procesa otro proceso intermediario, que va depositando los mensajes
procesados en un Buffer de 5 posiciones otros dos procesos C1 y C2 los retiran e
Imprimen altenadamente , C1,C2, C1,C2, C1,C2 etc.
Pgina 24/24