UTNianos

Versión completa: [ayuda] ej de sincronizacion
Actualmente estas viendo una versión simplificada de nuestro contenido. Ver la versión completa con el formato correcto.
Hola estoy haciendo el ej 1 de sincro de procesos:

[Imagen: 1.png]

Propuse esta solucion, pero habiamos visto en clase que por alguna razon (la cual no recuerdo) estaba mal a pesar de que vi un par de resueltos que lo hacen como yo. Me dijeron que lo que habia que hacer era tomar todos los semaforos desde 1 procesos e irlos liberando a medida que no se precisan. Me gustaria si me pueden decir porque esta mal en primer lugar mi solucion y en segundo lugar algo que no me quedo claro de la teoria es que si ambos procesos van a empezar con las variables compartidas a = b = 1, o el segundo proceso va a usar lo que le deje el primero que las ocupo. Gracias =D

ma=1; mb=1;

P0

d=1
while(true){
wait(ma)
a=a+d
signal(ma)
d=d*d
wait(mb)
b=b-d
signal(mb)
}


P1

e=2
while(true){
wait(mb)
b=b*e
signal(mb)
d=d*d
wait(ma)
a++signal(ma)
}
URLs de referencia