( english version )
Sistemi operativi B ( 5 CFU )
Prof. Stefano Caselli
     Tel. 0521 905724 - Fax. 0521 905723           E-mail. stefano.caselli@unipr.it           Home page. http://www.ce.unipr.it/people/caselli

Finalità
L'insegnamento si propone di presentare in modo completo le architetture e le funzionalità dei moderni sistemi operativi, di introdurre i concetti principali dei sistemi concorrenti, e di rendere lo studente in grado di programmare applicazioni multiprocesso in ambiente C/C++/UNI

Programma
Architetture dei sistemi operativi. Sistemi a macchine virtuali. Gestione dei processi. Scheduling della CPU. Gestione della memoria. Memoria Virtuale. Gestione dell'I/O. Gestione dei file. Sicurezza.
Programmazione concorrente nel modello a memoria condivisa. Mutua esclusione e primitive di sincronizzazione. Gestione di risorse mediante semafori. Regioni critiche condizionali. Monitor. Supporti per la programmazione concorrente in Java.
Programmazione concorrente nel modello a memoria locale. Primitive send e receive. Remote procedure call. Comandi con guardia.
Blocco critico. Tecniche di prevenzione e gestione del blocco critico.
Sistemi distribuiti. Modello cliente-servitore. RPC in ambiente distribuito. Sincronizzazione, mutua esclusione e coordinamento distribuiti.
Thread e processi leggeri. Supporti per il multithreading in Solaris e Linux.

Attività d'esercitazione
Esercitazioni in laboratorio relative alla programmazione di sistema in C/C++ nei sistemi operativi UNIX e Linux.

Modalità d'esame
L'esame è costituito da tre parti da svolgere in sequenza: una prova di programmazione in ambiente C/UNIX (da sostenere preferibilmente in itinere in quanto strettamente correlata alle esercitazioni), una prova scritta, ed una prova orale. Alla prova orale è ammesso solo chi ha superato sia la prova di programmazione che quella scritta.

Propedeuticità
Sistemi operativi A.

Testi consigliati
A. Silberschatz, P.B. Galvin, G. Gagne, “Sistemi operativi”, settima edizione, Pearson Education Italia, 2006.
P. Ancilotti, M. Boari, “Programmazione concorrente e distribuita”, McGraw-Hill, 2007

 
stampa il programma ~ torna indietro