Diferencia entre revisiones de «Práctica Semáforos (Sistemas Operativos)»

De Cuba-Wiki
Sin resumen de edición
Sin resumen de edición
Línea 1: Línea 1:
==Ejercicio 01[*]:==
==Ejercicio 01[*]:==
a.
<br>a)
<pre>
A  B  C   
A  B  C   
P( A )  P( B )  P( C )   
P( A )  P( B )  P( C )   
Línea 7: Línea 8:


Inicio
Inicio
 
A = n > 0   
A=n > 0   
B = 0   
B = 0   
C = 0   
C = 0
</pre>  


b.
<br>b)
<pre>
A  B  C   
A  B  C   
P( A )  P( B )  P( C )   
P( A )  P( B )  P( C )   
P( msg )  P( msg )   
P( msg )  P( msg )   
...  ...  ...   
...  ...  ...   
V( A )  V( A )   
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   
msg = 0   
B = 1   
B = 1   
C = 0   
C = 0   
</pre>


c.
<br>c)
<pre>
A  B  C   
A  B  C   
P( A )  P( A )  P( C )   
P( A )  P( A )  P( C )   
Línea 34: Línea 37:


Inicio
Inicio
 
A = n > 0   
A=n > 0   
C = 0   
C = 0   
</pre>


==Ejercicio 02:==
==Ejercicio 02:==
==Ejercicio 03:==
==Ejercicio 03:==
<br>a)
<br>b)
==Ejercicio 04:==
==Ejercicio 04:==
==Ejercicio 05[*]:==
==Ejercicio 05[*]:==
a.
<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)
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 de Y y Z
 
<br>c) Me parece que anda bien (por algo lo di como solucion del b :P)
b.
<br>d)
Se podrian invertir los primeros dos P's de Y y Z
 
c.
Me parece que anda bien (por algo lo di como solucion del b :P)


==Ejercicio 06[*]:==
==Ejercicio 06[*]:==
-
<br>a)
<br>b)


==Ejercicio 07[*]:==
==Ejercicio 07[*]:==
Línea 63: Línea 65:
Es muy pedorra esta solucion????
Es muy pedorra esta solucion????


<pre>
A  B  C   
A  B  C   
P( A )  P( msg )  P( msg )   
P( A )  P( msg )  P( msg )   
Línea 71: Línea 74:


Inicio
Inicio
A=2   
A=2   
msg=0   
msg=0   
</pre>


==Ejercicio 12[*]:==
==Ejercicio 12[*]:==
<pre>
A  B  C   
A  B  C   
   P( exc )   
   P( exc )   
Línea 86: Línea 90:


Inicio
Inicio
A=1   
A=1   
B=0   
B=0   
C=0   
C=0   
</pre>


==Ejercicio 13[*]:==
==Ejercicio 13[*]:==

Revisión del 02:47 21 mar 2007

Ejercicio 01[*]:


a)

A  B  C  
P( A )  P( B )  P( C )  
...  ...  ...  
V( B )  V( C )  V( A )  

Inicio
A = n > 0  
B = 0  
C = 0


b)

A  B  C  
P( A )  P( B )  P( C )  
P( msg )  P( msg )  
...  ...  ...  
V( A )  V( A )  
V( msg )  V( C )  V( B )  

Inicio
A = n > 0  
msg = 0  
B = 1  
C = 0  


c)

A  B  C  
P( A )  P( A )  P( C )  
...  ...  ...  
V( C )  V( C )  V( A )  

Inicio
A = n > 0  
C = 0  

Ejercicio 02:

Ejercicio 03:


a)
b)

Ejercicio 04:

Ejercicio 05[*]:


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)
b) Se podrian invertir los primeros dos P's de Y y Z
c) Me parece que anda bien (por algo lo di como solucion del b :P)
d)

Ejercicio 06[*]:


a)
b)

Ejercicio 07[*]:

MMMM. a que apunta este ejercicio??

Ejercicio 08:

Ejercicio 09:

Ejercicio 10:

Ejercicio 11[*]:

Es muy pedorra esta solucion????

A  B  C  
P( A )  P( msg )  P( msg )  
P( A )    
...  ...  ...  
V( msg )  V( A )  V( A )  
V( msg )    

Inicio
A=2  
msg=0  

Ejercicio 12[*]:

A  B  C  
  P( exc )  
P( A )  P( B )  P( C )  
  P( C )  
  V( exc )  
...  ...  ...  
V( B )  V( C )  V( A )  
V( B)    

Inicio
A=1  
B=0  
C=0  

Ejercicio 13[*]: