Edición de «Práctica Semáforos (Sistemas Operativos)»
De Cuba-Wiki
Puedes deshacer la edición. Antes de deshacer la edición, comprueba la siguiente comparación para verificar que realmente es lo que quieres hacer, y entonces publica los cambios para así efectuar la reversión.
Revisión actual | Tu texto | ||
Línea 1: | Línea 1: | ||
==Ejercicio 01[*]:== | ==Ejercicio 01[*]:== | ||
<br>a) | <br>a) | ||
<pre> | <pre> | ||
A B C | A B C | ||
Línea 15: | Línea 13: | ||
</pre> | </pre> | ||
<br>b) | <br>b) | ||
<pre> | <pre> | ||
A B C | A B C | ||
Línea 31: | Línea 29: | ||
</pre> | </pre> | ||
<br>c) | <br>c) | ||
<pre> | <pre> | ||
A B C | A B C | ||
Línea 44: | Línea 42: | ||
==Ejercicio 02:== | ==Ejercicio 02:== | ||
==Ejercicio 03:== | ==Ejercicio 03:== | ||
<br>a) | <br>a) | ||
Línea 62: | Línea 48: | ||
==Ejercicio 05[*]:== | ==Ejercicio 05[*]:== | ||
<br>a) Hay un deadlock, porque Z espera que se incremente B, y B nunca se va a incrementar, porque eso lo hace Y (que no se va a ejecutar) | <br>a) Hay un deadlock, porque Z espera que se incremente B, y B nunca se va a incrementar, porque eso lo hace Y (que no se va a ejecutar) | ||
<br>b) Se podrian invertir los primeros dos P's | <br>b) Se podrian invertir los primeros dos P's de Y y Z | ||
<br>c) Me parece que anda bien (por algo lo di como solucion del b :P) | <br>c) Me parece que anda bien (por algo lo di como solucion del b :P) | ||
<br>d) | <br>d) | ||
Línea 71: | Línea 57: | ||
S R B C Signal Wait | S R B C Signal Wait | ||
1 0 0 1 | 1 0 0 1 | ||
0 1 0 1 R | 0 1 0 1 R | ||
0 1 -1 1 B | 0 1 -1 1 B | ||
1 0 0 0 B B | 1 0 0 0 B B | ||
1 -1 0 0 B | 1 -1 0 0 B | ||
1 -1 0 -1 B/C | 1 -1 0 -1 B/C | ||
0 0 0 -1 B B/C | 0 0 0 -1 B B/C | ||
1 0 0 0 C C | 1 0 0 0 C C | ||
0 -1 0 0 C | 0 -1 0 0 C | ||
-1 -1 0 0 C/S | -1 -1 0 0 C/S | ||
</pre> | </pre> | ||
<br>b) | <br>b) | ||
==Ejercicio 07[*]:== | ==Ejercicio 07[*]:== | ||
Al ejecutarse V(T) se produce un signal de T, entonces el PT selecciona un proceso | Al ejecutarse V(T) se produce un signal de T, entonces el PT selecciona un proceso T que se encuentra en la cola de bloqueados y lo coloca en la de listos. Luego se ejecuta V(S) y sucede lo mismo y luego V(R). En la ejecucion de V(R) no se produce ningun signal | ||
==Ejercicio 08:== | ==Ejercicio 08:== | ||
==Ejercicio 09:== | ==Ejercicio 09:== | ||
==Ejercicio 10:== | ==Ejercicio 10:== | ||
==Ejercicio 11[*]:== | ==Ejercicio 11[*]:== | ||
<pre> | <pre> | ||
A B C | A B C | ||
Línea 111: | Línea 91: | ||
==Ejercicio 12[*]:== | ==Ejercicio 12[*]:== | ||
<pre> | <pre> | ||
A | A B C | ||
P( | P(exc) P(Y) P(exc) | ||
P(X) P(S) P(Z) | P(X) P(S) P(Z) | ||
... ... ... | P(X) P(Z) | ||
V( | V(exc) P(S) | ||
V( | P(S) | ||
V(Z) | ... ... ... | ||
V( | V(S) V(X) V(X) | ||
V( | V(S) V(Z) V(X) | ||
V(Y) | |||
V(Y) | |||
Inicio | Inicio | ||
exc=1 | |||
X=2 | X=2 | ||
Y= | Y=2 | ||
Z= | Z=-1 | ||
S= | S=0 | ||
</pre> | </pre> | ||
==Ejercicio 13[*]:== | ==Ejercicio 13[*]:== | ||
<pre> | <pre> | ||
A B C | A B C | ||
Línea 146: | Línea 126: | ||
X=1 | X=1 | ||
Y=0 | Y=0 | ||
s= | s=0 | ||
b= | b=2 | ||
</pre> | </pre> | ||