CONCURRENCIAS. Ejercicios. Semáforos
Enviado por legodeBennu • 10 de Abril de 2016 • Tarea • 673 Palabras (3 Páginas) • 288 Visitas
Nombre: Diego Acero
Matricula: 710764
Ejercicios. Semáforos
1.- Sea un programa secuencial que consiste de las siguientes cinco instrucciones S1 hasta S5. Considere cada instrucción como un proceso separado y obtenga usando las condiciones de Bernstein, un grafo en el que cada nodo sea una instrucción y los arcos indiquen la precedencia. El grafo debe garantizar la máxima concurrencia. Programe el grafo con pseudocódigo.
S1: Y = Z - W
S2: A = B + B
S3: C = E * A
S4: Z = C + D
S5: D = W * B
| [pic 3] | ||||||||||||||||||||||||||||||||||||
[pic 4] | X1 count=0; } concurrent({S1,V(X1)},B1); S5; } B1(){ S2; S3; P(X1); S4; } |
2.- Realice la pseudoprogramación de los siguientes grafos de precedencia. Tenga en cuenta que debe usar “Semáforos”.
[pic 5] | X4 count=0; X5 count=0; { S1; concurrent(B1,B2); } B1(){ S2; P4(X4); P5(X5); S6; } B2(){ S3; concurrent({S4,V(X4)},{S5,V(X5)}); } |
[pic 6] | X2 count=0; X4 count=0 { S0; concurrent(B1,B2); S8; } B1(){ S1; concurrent(S3,{P(X2),S4,V(X4)}); S6; } B2(){ S2; V(X2); S5; P(X4); S7; } |
[pic 7] | X5 count=0; { S1; concurrent(B1,B2); S8; } B1(){ S2; P(X5); S4; } B2(){ S3: concurrent({V(X5),S5,},S6); S7; } |
[pic 8] | X7 count=0; { S1; concurrent(B1,B2); } B1(){ S2; concurrent(S5,S6); P(X7); S8; } B2(){ S7; V(X7); } |
[pic 9] | X2 count=0; X5 count=0; { concurrent(B1,B2); } B1(){ S2; V(X2); S4; P(X5); S8; } B2(){ S3; concurrent({P(X2),S5,V(X5)},S6,S7); S9; } |
...