Algoritmo del banchiere per il problema dei filosofi
I bastoncini sono in mezzo al tavolo, accessibili da tutti.
Regole:
- Se non è l’ultimo bastoncino, puoi prenderlo
- Se è l’ultimo e ti basta per mangiare (perchè ne hai già uno) prendilo pure
- In tutti gli altri casi, aspetta
Esercizio 1
Implementare l’algoritmo del banchiere nei seguenti due modi:
- Acquisizione del bastoncino non sospensiva (implica polling). Tra un controllo e l’altro, il filosofo non può mangiare e fa altro.
- Acquisizione del bastoncino sospensiva.
- Versione A
- Versione B
Algoritmo del banchiere - regole alternative
Regole per accedere alle risorse:
- Se c’è una risorsa disponibile e non è l’unica disponibile, puoi prenderla
- Se c’è un’ultima risorsa disponibile ed è l’ultima che ti manca, puoi prenderla
- Se c’è una risorsa disponibile e c’è un altro processo che sta usando le risorse, puoi prenderla
- In tutti gli altri casi, aspetta
Esercizio 2
Implementare il sistema con le regole alternative dell’algoritmo del banchiere