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

Testi d'approfondimento

A.S. Tanenbaum, I moderni sistemi operativi, seconda edizione, Jackson Libri, 2002.
G.R. Andrews, “Foundations of Multithreaded, Parallel, and Distributed Programming,” Addison-Wesley, 2000.
S.J. Hartley, Concurrent Programming - The Java Programming Language, Oxford University Press, 1998.
H.M. Dietel, P.J. Dietel, D.R. Choffnes, “Sistemi operativi”, terza edizione, Pearson Education Italia, 2005.
P. Ancilotti, M. Boari, A. Ciampolini, G. Lipari, “Sistemi operativi,” McGraw-Hill, 2004.

Sono inoltre disponibili, per gli studenti registrati, le dispense del docente presso il portale didattico dell'ateneo https://corsi.unipr.it


Ultimo aggiornamento: 03-07-2007


Chiudi la finestra