Ciao a tutti,

insieme a due miei amici stiamo cercando di fare un elaborato per l'università.

Il testo dell'elaborato è questo:
Realizzare tre application C che implementino con Semafori, Monitor di Hoare e
Message passing una soluzione concorrente al seguente problema:
La soluzione proposta eve assicurare il massimo grado di parallelismo, non deve usare
busy waiting, ne’ generare deadlock o starvation. Commentare in modo chiaro il codice.
FABBRICA
- Una fabbrica è composta da tre reparti di produzione e diverse unità di
assemblaggio.
- I tre reparti di produzione producono rispettivamente pezzi A, B e C (un solo tipo
per reparto), che vengono depositati in magazzino per essere poi utilizzati dalle
unità di assemblaggio.
- Il magazzino ha una capacità limitata per ogni tipo di pezzo, rispettivamente MaxA,
MaxB e MaxC, raggiunta la quale il reparto corrispondente deve aspettare che i
pezzi depositati vengano utilizzati per poter continuare a produrre.
- Ogni unità di assemblaggio ha bisogno di un certo numero di pezzi A, B e C e la
quantità dipende dal prodotto da assemblare (ma sempre inferiore o uguale alla
capacità massima del magazzino). L’assemblaggio del prodotto può iniziare solo
quando l’unità di assemblaggio dispone di tutti i pezzi necessari.
- Si realizzino con il costrutto dei monitor le seguenti procedure:
- RepProduttore: reparto di produzione;
- Assemblatore: unità di assemblaggio.
- GestoreMagazzino: gestione del magazzino.
Ora, noi non abbiamo la più pallida idea di come si fa una roba del genere... qualcuno di voi potrebbe aiutarci magari anche solo con pseudo-codice? (molto meglio però se già in C)

Purtroppo ho provato a cercare in internet ma non ho trovato niente...

Grazie in anticipo!