Corso di Informatica 2 - Modulo Sistemi Operativi - A.A. 2015/16
(Alberto Ceselli - alberto.ceselli at unimi.it)
News
- 14/03/2016 - Sito online.
- 15/06/2016 - Pubblicati i risultati dell'esame scritto del 14/06/2016.
- 20/07/2016 - Pubblicati i risultati dell'esame scritto del 19/07/2016.
- 16/09/2016 - Pubblicati i risultati dell'esame scritto del 15/09/2016, ed i relativi orari di convocazione per la prova orale del 19/09/2016 .
- 18/01/2017 - Pubblicati i risultati dell'esame scritto di gennaio. La prova orale si svolgerà il 23 gennaio 2017 alle ore 10.00.
Organizzazione del corso
- Mercoledì - Dalle ore 14:00 alle ore 16:00, aula 2 (teoria).
- Giovedì - Dalle ore 14:00 alle ore 16:00, aula 2 (teoria), oppure dalle ore 11:30 alle ore 13:30, aula 5-6 (laboratorio).
Argomenti delle lezioni e slide
Materiale principalmente tratto dal corso della prof. Patrizia Scandurra .- Lezione 1 (9 Marzo 2016). Presentazione del corso (Slides) . Introduzione (Slides) .
- Lezione 2 (10 Marzo 2016). Architettura dei sistemi operativi (1). Slides .
- Lezione 3 (16 Marzo 2016). Architettura dei sistemi operativi (2). Slides . Esempio di codice con librerie che usano chiamate di sistema (usare con cautela).
- Lezione 4 (17 Marzo 2016). La gestione dei processi (introduzione). Slides .
- Lezione 5 (23 Marzo 2016). La gestione dei processi (meccanismi). Slides , Esempio di codice con librerie POSIX.
- Lezione 6 (6 Aprile 2016). Multithreading. Slides . Processi, thread ed utilizzo della memoria: codice per esperimenti con librerie POSIX.
- Laboratorio 1 (7 Aprile 2016). Multithreading in Java.
- Lezione 7 (13 Aprile 2016). La sincronizzazione di task: introduzione, problemi standard, race conditions. Slides ; esempio di codice per il calcolo di una sommatoria con librerie POSIX (V1: singolo thread, V2: possibili race conditions, V3: versione corretta con commenti).
- Lezione 8 (14 Aprile 2016). La sincronizzazione di task: sezioni critiche, mutua esclusione, cooperation e comperition synchronization, guardie e semafori. Slides .
- Lezione 9 (21 Aprile 2016). La sincronizzazione di task: monitor, supporto hardware per la sincronizzazione, problema del produttore e consumatore su buffer condiviso. Slides .
- Lezione 10 (22 Aprile 2016). Inter Process Communication: concetti generali, meccanismi shared memory e scambio di messaggi; sincronizzazione tramite scambio di messaggi. Slides . Esempio di codice in ambiente UNIX.
- Lezione 11 (27 Aprile 2016). Inter Process Communication: comunicazione in ambiente distribuito; Remote Procedure Call e Remote Method Invocation. Slides .
- Lezione 12 (28 Aprile 2016). Deadlock: prevenzione e gestione. Slides .
- Lezione 13 (04 Maggio 2016). Scheduling (parte 1). Slides .
- Lezione 14 (11 Maggio 2016). Scheduling (parte 2). Slides .
- Lezione 15 (18 Maggio 2016). Gestione della memoria centrale .
- Lezione 16 (01 Giugno 2016). Gestione della memoria virtuale.
- Non discussi a lezione. File system: concetti generali e implementazione .
Temi d'esame:
- Testo della prova scritta del 14/06/2016.
- Testo della prova scritta del 19/07/2016.
Risultati degli esami ed orari di convocazione:
- 15/06/2016 - Pubblicati i risultati dell'esame scritto del 14/06/2016, ed i relativi orari di convocazione per la prova orale del 16/06/2016 .
- 20/07/2016 - Pubblicati i risultati dell'esame scritto del 19/07/2016, ed i relativi orari di convocazione per la prova orale del 21/07/2016 .
- 16/09/2016 - Pubblicati i risultati dell'esame scritto del 15/09/2016, ed i relativi orari di convocazione per la prova orale del 19/09/2016 . .
Riferimenti:
- A. Silberschatz, P.B. Galvin, G. Gagne Sistemi Operativi - Concetti ed Esempi. Nona edizione, Pearson - 2014.