Práctica Programación Concurrente (Sistemas Operativos)

De Cuba-Wiki
Revisión del 18:00 30 oct 2006 de 201.231.232.2 (discusión)
(difs.) ← Revisión anterior | Revisión actual (difs.) | Revisión siguiente → (difs.)

Ejercicio 01:

Ejercicio 02:

a. count2 = 2

count = 3

s1

fork L2

fork L3

fork L4

jump Sigo

L2:

s2

jump Sigo2

L3:

s3

Sigo2:

join count2

jump Sigo

L4:

s4

Sigo:

join count


b.

s1

parbegin

begin

parbegin

s2

s3

parend

s5

end

s4

parend

s6


Ejercicio 03:

Que es indivisible?


Ejercicio 04:

a. Me parece que es el tipo de grafos que no pueden ser representados con parbegin/parend. PREGUNTAR


Ejercicio 05:

Ejercicio 06:

Ejercicio 07:

Ejercicio 08:

Ejercicio 09:

Ejercicio 10:

Ejercicio 11:

Ejercicio 12:

Porque como cambian el valor del semaforo y despues lo evalua, al haber concurrencia se pueden quedar en WAIT dos ejecuciones de P. Ver Set-And-Test


Ejercicio 13:

Ejercicio 14:

Monitor ej14

var:

bandera : condicion


procedure P(x)

begin

x = x-1

if (x<0) then

Wait(bandera)

endif

end


procedure V(x)

begin

x = x+1

if (x<=0) then

Signal(Bandera)

endif

end


Ejercicio 15:

a.

E = 1; S = 0


procedure Productor

begin

P(E)

....

V(S)

end


procedure Consumidor

begin

P(S)

....

V(E)

end


b.

Esta el mismo ejercicio en la pagina 19 del capitulo 19.


Ejercicio 16:

X = 1

procedure Leer

begin

//leo el archivo

end


procedure Escribir

begin

P(X)

//escribo el archivo

V(X)

end


begin Prog-Principal(operacion)

if (operacion == "Leer) then

Leer

else

Escribir

endif

end


Ejercicio 17:

Ejercicio 18:

Ejercicio 19:

Muy largo como para leerlo


Ejercicio 20:

Ejercicio 21:

Ni idea que quieren


Ejercicio 22:

Estoy harto de esos ejercicios que te meten enunciados al pedo!!


Ejercicio 23:

Roberto hablo de unas reglas en clase... pero no las encuentro