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 | ||
P( A ) P( B ) P( C ) | P( A ) P( B ) P( C ) | ||
P( msg ) P( msg ) | |||
... ... ... | ... ... ... | ||
V( A ) V( A ) | |||
V( msg ) V( C ) V( B ) | V( msg ) V( C ) V( B ) | ||
Inicio | Inicio | ||
A = n > 0 | A = n > 0 | ||
msg = 0 | |||
B = 1 | B = 1 | ||
C = 0 | C = 0 | ||
</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( | P( A ) P( B ) P( C ) | ||
... | P( C ) | ||
V( | V( exc ) | ||
V( | ... ... ... | ||
V( | V( B ) V( C ) V( A ) | ||
V( B) | |||
Inicio | Inicio | ||
A=1 | |||
B=0 | |||
C=0 | |||
</pre> | </pre> | ||
==Ejercicio 13[*]:== | ==Ejercicio 13[*]:== | ||