[Sistemi Operativi] Problema sui semafori

CoCoyN-CB
Ciao a tutti!
Giorni fa ho fatto un esame all'università e avevo questa domanda:


Non riesco proprio a capire perchè la mia risposta è sbagliata. Secondo il mio ragionamento possono essere stampate da 0 a 3 D, in modo arbitrario a seconda di quale processo e quante volte riesce a ottenere il passaggio del semaforo. Problema mio o del professore?

Grazie.

Risposte
apatriarca
Credo abbia ragione il tuo professore. Il primo processo viene eseguito 3 volte prima di rimanere bloccato. Ad ogni ciclo causa l'esecuzione di uno degli altri due processi. Il secondo ciclo non "consuma" tuttavia V, avendo un signal(V) al suo interno. L'esecuzione si fermerà quindi solo quando il terzo processo viene eseguito per la terza volta e quindi sia U che V avranno valore nullo.

CoCoyN-CB
Non avevo visto quel signal(v), maledizione! :)
Grazie dell'aiuto.

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.