UniTO/anno2/YearI/SecondSem/VPC/labs/analisi/es3/README.md
Francesco Mecca 5e286062f8 MCAD 2019
2018-11-22 13:09:11 +01:00

828 B

ES 3

Problema

  • N processi, loop infinito di istruzioni divise in: sezione critica, sezione non critica.
  • Correttezza di una soluzione (algoritmo di mutua esclusione) e' definita da:
  1. Rispetto della mutua esclusione
  2. Assenza di deadlock
  3. Assenza di starvation
  • Le variabili usate dal protocollo di accesso siano usate solo da esso
  • E' presente un processo nella sezione critica, inoltre se un processo inizia in SC alla fine terminera'.
  • Non si richiede progresso di istruzioni non appartenenti alla SC (non analizzato).

Soluzione 3.2

Singola variabile turn:

if (turn == 1)
    P1 takes SC
else if (turn == 2)
    P2 takes SC

Pertanto i due processi si bloccano in attesa che la variabile turn gli assegni il turno, prima della SC, poi eseguono la SC e passano il turno settando turn.