Edición de «Práctica Programación Concurrente (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}}
<div style="border: 1px solid #CECEFF; padding: 5px; background-color: #EEEEFF; margin: 0px 0px 15px 0px;">[[Image:Back.png|14px|]] [[Sistemas Operativos|Volver a la página de la materia]]</div>


===Ejercicio 1===
===Ejercicio 1===
Línea 27: Línea 27:


<br>Condiciones de Bernstein: R(Si) n W(Sj) = W(Si) n R(Sj) = W(Si) n W(Sj) = {}  
<br>Condiciones de Bernstein: R(Si) n W(Sj) = W(Si) n R(Sj) = W(Si) n W(Sj) = {}  
<br>Se pueden ejecutar concurrentemente:
<br>Se pueden ejecutar concurrentemente S1 y S2, S1 y S3, S1 y S5, S2 y S3, S2 y S5
<br>S1 y S2,  
<br>S1 y S3,  
<br>S1 y S5,  
<br>S2 y S3,  
<br>S2 y S5


===Ejercicio 2*===
===Ejercicio 2*===
a)
a)
<pre>
<pre>
    Count5 = Count6 = 2
Count5 = Count6 = 2


    s1  
s1  
    fork L1
fork L3
    fork L2
fork L4
    s2  
s2  
    goto L3
jump Join5
L2: s3
 
L3: join Count5
L3:
    s5
s3
    goto L4
jump Join5
L1: s4
 
        L4: join Count6
Join5:
            S6
join Count5
s5
jump Join6
 
L4:
s4
jump Join6
 
Join6:
join Count6
        S6
</pre>
</pre>
b)
b)
Línea 200: Línea 205:
PREMISAS DE DIJKSTRA:
PREMISAS DE DIJKSTRA:
1) No deben hacerse suposiciones sobre las instrucciones de máquina ni la cantidad de </br>procesadores. Sin embargo, se supone que las instrucciones de máquina (Load, Store,  Test) son ejecutadas atómicamente, o sea que si son ejecutadas simultáneamente el </br>resultado es equivalente a su ejecución  secuencial en un orden desconocido.
1) No deben hacerse suposiciones sobre las instrucciones de máquina ni la cantidad de <br>procesadores. Sin embargo, se supone que las instrucciones de máquina (Load, Store,  Test) son ejecutadas atómicamente, o sea que si son ejecutadas simultáneamente el <br>resultado es equivalente a su ejecución  secuencial en un orden desconocido.


2) No deben hacerse suposiciones sobre la velocidad de los procesos.
2) No deben hacerse suposiciones sobre la velocidad de los procesos.
Línea 209: Línea 214:
Los puntos 3) y 4) evitan bloqueos mutuos.
Los puntos 3) y 4) evitan bloqueos mutuos.
5) Debe existir un límite al número de veces que otros procesos están habilitados a entrar a secciones críticas</br> después que un proceso haya hecho su pedido.
5) Debe existir un límite al número de veces que otros procesos están habilitados a entrar a secciones críticas después que un proceso haya hecho su pedido.
</pre>
</pre>


Similar al Alg. 2, no se asegura que un solo proceso este en la zona critica, ej:
Similar al Alg. 2, no se asegura que un solo proceso este en la zona critica, ej:
<br> T0 Tarea1 encuentra C2 = 1,<br>  T1 Tarea2 encuentra C1 = 1,<br>  T2 Tarea2 pone C2 = 0,<br>  T3 Tarea1 pone C1 = 0
<br> T0 Tarea1 encuentra C2 = 1, T1 Tarea2 encuentra C1 = 1, T2 Tarea2 pone C2 = 0, T3 Tarea1 pone C1 = 0


===Ejercicio 8===
===Ejercicio 8===
Similar al Alg. 3, no cumple 4) ya que ambos procesos pueden quedar en espera indefinida, ej:  
Similar al Alg. 3, no cumple 4) ya que ambos procesos pueden quedar en espera indefinida, ej:  
<br> T0 Tarea1 encuentra C1 = 0,<br>  T1 Tarea2 encuentra C2 = 0
T0 Tarea1 encuentra C1 = 0, T1 Tarea2 encuentra C2 = 0


===Ejercicio 9===
===Ejercicio 9===
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: