Edición de «Práctica Semáforos (Sistemas Operativos)»

De Cuba-Wiki
Advertencia: no has iniciado sesión. Tu dirección IP se hará pública si haces cualquier edición. Si inicias sesión o creas una cuenta, tus ediciones se atribuirán a tu nombre de usuario, además de otros beneficios.

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:
{{Back|Sistemas Operativos}}
==Ejercicio 01[*]:==
==Ejercicio 01[*]:==
<br>a)ABCABC..
<br>a)
<pre>
<pre>
A       B       C   
A B C   
P( A )  P( B )  P( C )   
P( A )  P( B )  P( C )   
...     ...     ...   
... ... ...   
V( B )  V( C )  V( A )   
V( B )  V( C )  V( A )   


Línea 15: Línea 13:
</pre>   
</pre>   


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


<br>c)(AoB)C(AoB)C..
<br>c)
<pre>
<pre>
A       B       C   
A B C   
P( A )  P( A )  P( C )   
P( A )  P( A )  P( C )   
...     ...     ...   
... ... ...   
V( C )  V( C )  V( A )   
V( C )  V( C )  V( A )   


Línea 44: Línea 42:


==Ejercicio 02:==
==Ejercicio 02:==
A(BoC)A(BoC)..
<pre>
A      B      C 
P( X )  P( Y )  P( Y ) 
...    ...    ... 
V( Y )  V( X )  V( X ) 
Inicio
X = 1
Y = 0 
</pre>
==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, tanto en Y como en Z
<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 68: Línea 54:
==Ejercicio 06[*]:==
==Ejercicio 06[*]:==
<br>a)
<br>a)
<pre>
S  R  B  C  Signal  Wait
1  0  0  1   
0  1  0  1    R          X
0  1 -1  1            B    Z
1  0  0  0    B      B    Y
1 -1  0  0            B    Y
1 -1  0 -1          B/C  X
0  0  0 -1    B    B/C  X
1  0  0  0    C      C
0 -1  0  0            C
-1 -1  0  0          C/S
</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 que requiere 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
MMMM. a que apunta este ejercicio??


==Ejercicio 08:==
==Ejercicio 08:==
Existe un caso en el cual tiene bastante sentido que el procesador se quede ciclando sobre un semáforo, y no que se produzca un Wait. Este es el caso en el cual se tiene, por ejemplo, dos procesadores que quieren acceder a la cola de listos para seleccionar el próximo proceso a ejecutar. En un momento dado está uno de ellos seleccionando por tanto se está ejecutando el planificador de procesos, y en ese mismo instante, también en el otro procesador se quiere ejecutar el planificador de procesos. Uno de los procesadores justamente tiene que ir a la cola de listos para seleccionar el proceso que tiene que ejecutar. Pero el otro está haciendo la selección y tiene el recurso (cola de listos) tomado. Si no puede elegir, no tiene sentido que se espere nada, porque lo que quiere hacer es justamente tomar un proceso para continuar la ejecución. Este sería un caso en el cual uno de los procesadores se quedará loopeando en la pregunta esta de ver cuándo cambia el valor del semáforo. Esos semáforos reciben el nombre de SPIN.
==Ejercicio 09:==
==Ejercicio 09:==
YXZQYXZQ...
==Ejercicio 10:==
==Ejercicio 10:==
==Ejercicio 11[*]:==
==Ejercicio 11[*]:==
La secuencia equivale a A(BoC)(BoC)A(BoC)(BoC)..
Es muy pedorra esta solucion????
 
<pre>
<pre>
A         B         C   
A B C   
P( A )   P( msg )  P( msg )   
P( A ) P( msg )  P( msg )   
P( A )  
P( A )  
...       ...       ...   
... ... ...   
V( msg )  V( A )   V( A )   
V( msg )  V( A ) V( A )   
V( msg )     
V( msg )     


Línea 111: Línea 79:


==Ejercicio 12[*]:==
==Ejercicio 12[*]:==
ABB AC ABB AC..
<pre>
<pre>
A       B     C   
A B C   
P(X)     P(Y)   P(Z)   
  P( exc )
P(X)     P(SP(Z)
P( A ) P( B )  P( C )
...     ...   ...
  P( C )
V(Y)     V(X)   P(Y)
   V( exc )
V(Y)            P(Y)
... ... ...
V(Z)            V(X)
V( B ) V( C ) V( A )
                V(X)
V( B)  
                V(S)
                V(S)


Inicio
Inicio
X=2  
A=1  
Y=0
B=0
Z=0
C=0
S=2
</pre>
</pre>


==Ejercicio 13[*]:==
==Ejercicio 13[*]:==
ABBCBBABBCBB..
<pre>
A      B      C 
P(X)  P(b)  P(Y) 
P(s)          P(s)
P(s)          P(s)
...    ...    ... 
V(Y)  V(s)  V(X) 
V(b)          V(b) 
V(b)          V(b)
Inicio
X=1 
Y=0
s=2
b=0
</pre>
[[Category:Prácticas]]
Ten en cuenta que todas las contribuciones a Cuba-Wiki pueden ser editadas, modificadas o eliminadas por otros colaboradores. Si no deseas que las modifiquen sin limitaciones, no las publiques aquí.
Al mismo tiempo, asumimos que eres el autor de lo que escribiste, o lo copiaste de una fuente en el dominio público o con licencia libre (véase Cuba-Wiki:Derechos de autor para más detalles). ¡No uses textos con copyright sin permiso!

Para editar esta página, responde la pregunta que aparece abajo (más información):

Cancelar Ayuda de edición (se abre en una ventana nueva)

Plantilla usada en esta página: