Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Guia Ejercicios - Planificación - Sincronización - Comunicación de Procesos PDF
Guia Ejercicios - Planificación - Sincronización - Comunicación de Procesos PDF
Graciela De Luca
Planificación , Sincronización y comunicación de Procesos.
Universidad Tecnológica Nacional
Planificación
Si suponemos que tenemos un algoritmo de planificación que utiliza una política FIFO
a) Tiempo medio de respuesta
b) Tiempo medio de espera
c) La penalización, es decir, el cociente entre el tiempo de finalización y el tiempo de CPU.
Resolución
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.
Página 1/24
Guia de Ejercicios de Sistemas Operativos Prof. Graciela De Luca
Planificación , Sincronización y comunicación de Procesos.
Universidad Tecnológica 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 pasaría a la
cola de listos y C queda detrásÎ B pasa a ejecutar nuevamente.
T=2 se produce el intercambio BÍÎC queda B en copla de listos.
T=3 se produce el intercambio CÍÎB queda C en cola de listos.
T=4 se produce el intercambio BÍÎC primero y luego se carga A Î quedan B, A en la cola de listos (en ese
orden).
T=5 se produce el intercambio CÍÎB . Quedan A, C en cola de listos.
T=6 se produce el intercambio BÍÎA . Quedan C, B en cola de listos.
T=7 se produce el intercambio AÍÎC . Quedan B en cola de listos, ya que A finalizó.
T=8 se produce el intercambio CÍÎB . Quedan C, D (llega en ese momento) en cola de listos.
T=9 se produce el intercambio BÍÎC . Queda D en cola de listos, ya que el B finaliza.
T=10 se produce el intercambio CÍÎD . Queda vacía la cola de listos , ya que el C finaliza.
T=11 continúa 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 pasaría a
la cola de listos y E queda detrás Î D pasa a ejecutar nuevamente.
T=13 se produce el intercambio DÍÎE . Queda vacía la cola de listos , ya que el D finaliza.
T=14 continúa 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
Página 2/24
Guia de Ejercicios de Sistemas Operativos Prof. Graciela De Luca
Planificación , Sincronización y comunicación de Procesos.
Universidad Tecnológica 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 finalización-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
Página 3/24
Guia de Ejercicios de Sistemas Operativos Prof. Graciela De Luca
Planificación , Sincronización y comunicación de Procesos.
Universidad Tecnológica 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
Página 4/24
Guia de Ejercicios de Sistemas Operativos Prof. Graciela De Luca
Planificación , Sincronización y comunicación de Procesos.
Universidad Tecnológica 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
Página 5/24
Guia de Ejercicios de Sistemas Operativos Prof. Graciela De Luca
Planificación , Sincronización y comunicación de Procesos.
Universidad Tecnológica 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
Página 6/24
Guia de Ejercicios de Sistemas Operativos Prof. Graciela De
Luca
Planificación , Sincronización y comunicación de Procesos.
Universidad Tecnológica Nacional
6. Rehacer el ejercicio anterior utilizando el algoritmo de “primero el más corto”, suponiendo que
la estimación de cada ráfaga coincide con la duración de la ráfaga anterior.
3
1 8
New Ready Exec Fin
2
5
Disco
4
7
6
Impresora
Se pide calcular el tiempo de Finalización de cada proceso y mostrar la ejecución de cada módulo
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:
Página 7/24
Guia de Ejercicios de Sistemas Operativos Prof. Graciela De
Luca
Planificación , Sincronización y comunicación de Procesos.
Universidad Tecnológica Nacional
9. Final 22-07-2006
19 de Julio de 2006 – 9 PM, en una importante empresa de telefonía 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 análisis de la situación. Durante los primeros 15 minutos de análisis nota que está corriendo en el
sistema operativo XP un proceso que no es fácilmente identificable, ya que el mismo ejecuta de forma esporádica, lo que hace
que afecte a los procesos que se encuentran corriendo en el servidor. Dicha situación es preocupante debido que la Compañía
no podrá brindar un buen servicio a los clientes, justo cuando mayor es la utilización de este tipo de servicio, debido a la
víspera del Día del Amigo.
Es por ello, que Nick decide llamar a Tom para ver si él le puede dar una solución. 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 envía por fax a Nick el siguiente detalle
con la ejecución 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
Página 8/24
Guia de Ejercicios de Sistemas Operativos Prof. Graciela De
Luca
Planificación , Sincronización y comunicación de Procesos.
Universidad Tecnológica Nacional
1) T=0 el único procesos en el sistema es P1 12) T=15 RCA ejecuta 1 ciclo y finaliza
Î pasa a ejecución. Ready
2) T=1 P1 está en ejecución P2 P1 P3:HB
Ready Bloqueados I/O
P2
3) T=2 Llega el proceso 3 con sus 2 hilos
P1 está en ejecución 13)T=16 P2 ejecuta
Ready Ready
P2 P3 P1 P3:HB
4) T=3 P2 está en ejecución Bloqueados I/O
Ready
P3
Bloqueados I/O 14)T=18 Ejecuta P1 y finaliza
P1 Ready
5) T=6 P3 está en ejecución 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 ejecución Bloqueados I/O
Ready
P2 16) T=20 Ejecuta RCA
Bloqueados I/O Ready
P1 P3:H1
7) T=8 RCA pasa a ejecución 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 ejecución 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 ejecución 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
Página 9/24
Guia de Ejercicios de Sistemas Operativos Prof. Graciela De
Luca
Planificación , Sincronización y comunicación de Procesos.
Universidad Tecnológica Nacional
10.
FINAL 06/12/2003
Un sistema computacional de un solo procesador planifica el procesamiento de trabajos según el siguiente
modelo:
Fin de Quantum
Cola de E/S
E/S
Planificación
Largo Plazo
Planificación Corto Plazo
Para la resolución del ejercicio, si existe coincidencia de tiempos en los eventos de entrada a la cola
de corto plazo, ordénelos 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 ejecución de los procesos mediante un
Diagrama de Gantt.
SOLUCIÓN
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
Página 10/24
Guia de Ejercicios de Sistemas Operativos Prof. Graciela De
Luca
Planificación , Sincronización y comunicación de Procesos.
Universidad Tecnológica 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
rígido de 1.8 Gb y la maquina B usa algoritmo FIFO y tiene una impresora láser 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
están perfectamente sincronizados.
12. De un ejemplo donde el algoritmo que utiliza TSL produce inanición (Starvation)
Supongamos que tenemos tres procesos A, B y C y las variable ocupado=0
READY
A
B
BLOCK
READY
B
C, A
BLOCK
Página 11/24
Guia de Ejercicios de Sistemas Operativos Prof. Graciela De
Luca
Planificación , Sincronización y comunicación de Procesos.
Universidad Tecnológica Nacional
Luego pasa B a ejecución y hace TSL(ocupado) quedando en espera activa . Luego C pasa de
bloqueados a Listos, ubicándose detrás de A en la cola.
Cuando se le acaba el quantum de tiempo a B pasa a Listos y A a EJECUCIÓN.
READY
A
B, C
BLOCK
A coloca ocupado = 0
Cuando C pasa a ejecución hace TSL(ocupado) como ocupado estaba en 0 lo coloca en 1 y pasa a
utilizar la región critica, ingresando a esta antes que B y si esta situación se repite B puede padecer
inanición
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 podrían ejecutar.
A B
c=b+d m=6*x+k
h=c+f+g print m/c
print c
RA∩WB=Ø RB∩WA={c}
WA∩WB=Ø
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 semáforos para asegurar la ejecución de
los procesos en ese orden.
Página 12/24
Guia de Ejercicios de Sistemas Operativos Prof. Graciela De
Luca
Planificación , Sincronización y comunicación de Procesos.
Universidad Tecnológica Nacional
RESOLUCIÓN
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)
Página 13/24
Guia de Ejercicios de Sistemas Operativos Prof. Graciela De
Luca
Planificación , Sincronización y comunicación de Procesos.
Universidad Tecnológica Nacional
X=199 X=500
X=x+1 X=X/10
Print (X) Print(X)
RESOLUCIÓN
a.- Como no se necesita darle un orden a la ejecución sólo se debe poner mutua exclusión, por
lo tanto con un semáforo 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 ejecución por lo tanto se utilizará semáforos 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 semáforos 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 semáforos 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)
Página 14/24
Guia de Ejercicios de Sistemas Operativos Prof. Graciela De
Luca
Planificación , Sincronización y comunicación de Procesos.
Universidad Tecnológica 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 semáforos de tal manera que los procesos A, B, C ejecuten siempre en la
secuencia A(BóC)A(BóC)…
Si queremos que BóC ejecuten solo uno a la vez podríamos 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 semáforos 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)
Página 15/24
Guia de Ejercicios de Sistemas Operativos Prof. Graciela De
Luca
Planificación , Sincronización y comunicación de Procesos.
Universidad Tecnológica 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.
Declaración, Inicialización de Variables y Semáforos
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.
Página 16/24
Guia de Ejercicios de Sistemas Operativos Prof. Graciela De
Luca
Planificación , Sincronización y comunicación de Procesos.
Universidad Tecnológica Nacional
Otra solución:
Proceso A Proceso B
{ {
while (TRUE) while (TRUE)
x = x + 1; print (x);
} }
22. Dadas la siguiente secuencia lógica y los valores iniciales de los semáforos, verificar si esta
es la secuencia normal de ejecución y si está bien realizada la sincronización.
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 ejecución sería
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
Página 17/24
Guia de Ejercicios de Sistemas Operativos Prof. Graciela De
Luca
Planificación , Sincronización y comunicación de Procesos.
Universidad Tecnológica Nacional
P(C)
Esta sincronización 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 ejecución de V(T) los valores de los semáforos 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 cuál es la secuencia normal de ejecución.
RESPUESTA:
Para encontrar la secuencia normal de ejecución debemos seguir los valores de los semáforos
habilitados .
Como S=1 y B=1 podríamos comenzar por la ejecución con X, pasa el semáforo B y se bloque a en
el semáforo T , por lo tanto solo podrá ejecutar Y primero Y ,cuando este finaliza habilita el sem. T
,entonces ejecuta X . este habilita el semáforo 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
Página 18/24
Guia de Ejercicios de Sistemas Operativos Prof. Graciela De
Luca
Planificación , Sincronización y comunicación de Procesos.
Universidad Tecnológica 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 ejecutarán los siguientes procesos, considerando que se
ejecutan en paralelo, y detalle que procesos terminaron y cuales no y por que razón.
I, B, A, C, P = 0
M, K, G = 1
P1 P2 P3 P4 P5 P6
Página 19/24
Guia de Ejercicios de Sistemas Operativos Prof. Graciela De
Luca
Planificación , Sincronización y comunicación de Procesos.
Universidad Tecnológica 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)
Resolución:
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)
Resolución:
A B C E I J L M O P R P1 P2 P3 P4 P5
Página 20/24
Guia de Ejercicios de Sistemas Operativos Prof. Graciela De
Luca
Planificación , Sincronización y comunicación de Procesos.
Universidad Tecnológica 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
semáforos son: s1, s2 (Semáforos Mutex).
Respuesta:
El enunciado nos dice que ambos semáforos (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
Página 21/24
Guia de Ejercicios de Sistemas Operativos Prof. Graciela De
Luca
Planificación , Sincronización y comunicación de Procesos.
Universidad Tecnológica Nacional
Entonces ambos procesos quedan en DEADLOCK
29. En un sistema de computación 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, ¿cuáles 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 más 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 ejecución.
El número de los procesos corresponde con el orden de llegada. Se deberá utilizar el algoritmo de
planificación FCFS.
Además indicar si el sistema es seguro o no (o sea verificar si ningún proceso queda sin los
recursos necesarios).
31. Escribir un algoritmo para sincronizar el paso de vehículos sobre un puente con una sola
dirección de circulación. Los vehículos arriban al puente desde ambas direcciones, pero sólo
pueden pasar de una dirección por vez. No hay restricción acerca de la cantidad de vehículos
que pueden estar sobre el puente al mismo tiempo. ¿Hay starvation?; si la hay, ¿cómo hacer
pare evitarla?. ¿Puede haber Deadlock?. Explicar porqué.
32. Se tienen 3 procesos: P1, P2 y P3: El código del proceso Pi (i=1, 2, 3) es:
Página 22/24
Guia de Ejercicios de Sistemas Operativos Prof. Graciela De
Luca
Planificación , Sincronización y comunicación de Procesos.
Universidad Tecnológica Nacional
1. Definir los semáforos e inicializarlos correctamente. Usar el mínimo número de
semáforos
2. Reescriba los tres procesos con los semáforos incorporados
b) Sincronizar mediante mensajes. Se pide el mínimo código. ¿Cómo 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 códigos y los valores iniciales de los
semáforos 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 semáforos del ejercicio anterior para que el sistema sea SEGURO y no quede
ningún proceso bloqueado.
36. . Los siguientes procesos se ejecutan en paralelo. Utilizando semáforos, 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 sincronización de 4 procesos
A ---> |____10______| --->BDBD(una vez cada uno, en ese orden) ----->|colalimitada------> C
-Genera mensajes - Retira mensajes -Retira mensajes
Página 23/24
Guia de Ejercicios de Sistemas Operativos Prof. Graciela De
Luca
Planificación , Sincronización y comunicación de Procesos.
Universidad Tecnológica Nacional
-Deposita mensajes - Procesa el mens Consume el mens.
-Deposita mens.
38.
Realice la sincronización 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.
Página 24/24