Edición de «Práctica Programación Concurrente (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: | ||
<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 | ||
===Ejercicio 2*=== | ===Ejercicio 2*=== | ||
a) | a) | ||
<pre> | <pre> | ||
Count5 = Count6 = 2 | |||
s1 | |||
fork L3 | |||
fork L4 | |||
s2 | |||
jump Join5 | |||
L3: | |||
s3 | |||
jump Join5 | |||
Join5: | |||
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 < | 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 | 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> 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: | ||
T0 Tarea1 encuentra C1 = 0, T1 Tarea2 encuentra C2 = 0 | |||
===Ejercicio 9=== | ===Ejercicio 9=== |