vuoi
o PayPal
tutte le volte che vuoi
Problemi di cooperazione nel modello a scambio di messaggi.
5. Scrivere una applicazione concorrente che implementi il problema del Produttore/ Consumatore
utilizzando le primitive send e receive per la comunicazione mediante code di messaggi.
(Costruzione di un protocollo sincrono mediante le primitive di scambio messaggi asincrone).
6. Scrivere una applicazione concorrente che implementi uno schedulatore di processi che gestisce
tre livelli di priorità usando le code di messaggi.
7. Si realizzi un processo che riceve messaggi da altri processi mediante una coda di messaggi e
risponde con un intero che dice quanti messaggi sono stati ricevuti fino a quel momento. Per la
comunicazione delle risposte si deve usare la stessa coda di messaggi delle richieste. La coda di
messaggi deve essere creata dal primo processo che ne fa uso, non necessariamente il servente.
Suggerimenti: Si usi un tipo particolare per i messaggi spediti verso il processo contatore, e il pid
del processo mittente per i messaggi di risposta.
Impiego del costrutto monitor
8. Si implementi il problema dei lettori/ scrittori utilizzando il costrutto monitor.
9. Si implementi il problema produttori/ consumatori utilizzando il costrutto monitor.
10. Scrivere una applicazione concorrente che implementi mediante un monitor il problema della
gestione di un’unità a disco a teste mobili (secondo l’algoritmo dell’ascensore).
Impiego di file
11. Si realizzino due processi che interagiscono tramite memoria comune al fine di leggere dati da un
disco. Il primo processo legge da disco blocchi di dati (di un file il cui nome viene letto da
programma) e li deposita in un insieme di buffer allocati in memoria comune. Il secondo processo
stampa a video ciò che trova in tali buffer. Lo studente è libero di scegliere il tipo di
sincronizzazione fra i processi, purché corretta, motivando opportunamente la scelta.