1° passo) verificare la disponibilità di una risorsa
2° passo) se la risorsa è occupata, il processo andrà in wait
3° passo) se il processo ha terminato di usare una risorsa, chiama il signal
4° passo) il processo riprende la sua esecuzione