Sistemi operativi2014/15
Questo insegnamento illustra il funzionamento delle componenti fondamentali di un moderno sistema operativo.
Avvisi
-
Esiti prova scritta di Sistemi operativi del 29 gennaio 2016 e calendario prove orali
Sono disponibili gli esiti della prova scritta di Sistemi operativi del 29/1 e il calendario delle prove orali.
-
Luogo e ora della prova scritta di Sistemi operativi del 29 gennaio 2016
L'esame scritto del 29/1 si svolgerà nell'aula Beta di Via Comelico a partire dalle ore 8:30.
-
Esiti prova scritta di Sistemi operativi del 24 settembre 2015 e calendario prove orali
Sono disponibili gli esiti della prova scritta di Sistemi operativi del 24/9 e il calendario delle prove orali.
Avvisi precedenti (21)
-
Luogo e ora della prova scritta di Sistemi operativi del 24 settembre 2015
L'esame scritto del 24/9 si svolgerà nell'aula Beta di Via Comelico a partire dalle ore 14:30.
-
Esiti prova scritta di Sistemi operativi del 9 settembre 2015 e calendario prove orali
Sono disponibili gli esiti della prova scritta di Sistemi operativi del 9/9 e il calendario delle prove orali.
-
Luogo e ora della prova scritta di Sistemi operativi del 9 settembre 2015
L'esame scritto del 9/9 si svolgerà nell'aula Beta di Via Comelico a partire dalle ore 8:30.
-
Esiti prova scritta di Sistemi operativi del 20 luglio 2015 e calendario prove orali
Sono disponibili gli esiti della prova scritta di Sistemi operativi del 20/7 e il calendario delle prove orali.
-
Luogo e ora della prova scritta di Sistemi operativi del 20 luglio 2015
L'esame scritto del 20/7 si svolgerà nell'aula Beta di Via Comelico a partire dalle ore 8:30.
-
Esiti prova scritta di Sistemi operativi del 7 luglio 2015 e calendario prove orali
Sono disponibili gli esiti della prova scritta di Sistemi operativi del 7/7 e il calendario delle prove orali.
-
Luogo e ora della prova scritta di Sistemi operativi del 7 luglio 2015
L'esame scritto del 7/7 si svolgerà nell'aula Beta di Via Comelico a partire dalle ore 8:30.
-
Calendario prove orali aggiornato
Il calendario delle prove orali è stato aggiornato: gli esmi del 2/7 saranno a partire dalle 9:30.
-
Esiti prova scritta di Sistemi operativi del 19 giugno 2015 e calendario prove orali
Sono disponibili gli esiti della prova scritta di Sistemi operativi del 19/6 e il calendario delle prove orali.
-
Luogo e ora della prova scritta di Sistemi operativi del 19 giugno 2015
L'esame scritto del 19/6 si svolgerà nell'aula Beta di Via Comelico a partire dalle ore 14:30.
-
Sospensione del ricevimento studenti del 28 maggio
Il ricevimento studenti del 28 maggio è sospeso. Gli studenti possono contattare il docente per un ricevimento su appuntamento.
-
Nuovo eserciziario di sistemi operativi
È disponibile il libro Sistemi operativi – esercizi risolti e commentati.
-
Sospensione del ricevimento studenti del 2 aprile
Il ricevimento studenti del 2 aprile è sospeso. Gli studenti possono contattare il docente per un ricevimento su appuntamento.
-
Sospensione lezione di Sistemi operativi
La lezione di Sistemi operativi del 31 marzo è sospesa.
-
Modifica del ricevimento studenti del 12/3
Il ricevimento studenti odierno inizierà alle ore 16:00.
-
Orario di ricevimento per il secondo semestre
L'orario di ricevimento studenti per il secondo semestre si svolgerà il giovedì alle 14:30 nello studio del docente, a partire dal 5/3.
-
Video delle lezioni di Sistemi operativi
Le registrazioni delle lezioni di sistemi operativi saranno disponibili accedendo al sito http://vc.di.unimi.it e autenticandosi con le credenziali della posta elettronica di ateneo.
-
Modifica al calenario dell'insegnamento di Sistemi operativi
A partire dal 3 marzo 2015 l'orario dell'insegnamento di sistemi operativi cambierà nel modo seguente: lunedì 10:30–12:30, aula V3; martedì 12:30–14:30, aula V3.
-
Sospensione del ricevimento studenti
Il ricevimento studenti su base regolare è sospeso fino al prossimo semestre. Gli studenti possono contattare il docente per un ricevimento su appuntamento.
-
Semestre del corso di Sistemi operativi
L'insegnamento di Sistemi operativi sarà erogato nel secondo semestre.
-
Orario di ricevimento per il primo semestre
L'orario di ricevimento studenti per il primo semestre si svolgerà il martedì alle 14:30 nello studio del docente, a partire dal 9/9.
Orari del corso
Le lezioni si svolgeranno presso il settore didattico di Città studi, secondo il seguente orario:
| Giorno | Ora | Luogo |
|---|---|---|
| lunedì | 10:30 - 12:30 | aula V3, via Venezian |
| martedì | 12:30 - 14:30 | aula V3, via Venezian |
Eventuali variazioni rispetto al calendario pianificato verranno comunicate in aula e pubblicizzate nel paragrafo Avvisi di questa pagina. È possibile accedere alla registrazione delle lezioni accedendo al sito http://vc.di.unimi.it e autenticandosi con le credenziali della posta elettronica di ateneo.
Ricevimento studenti
Su appuntamento, stanza 5015 del Dipartimento di Informatica.
È possibile contattare il docente tramite posta elettronica, avendo cura di leggere preventivamente la guida predisposta dal Prof. Sebastiano Vigna e di specificare chiaramente nell'oggetto del messaggio il nome dell'insegnamento e l'anno accademico. In particolare, si invitano gli studenti a usare sempre come mittente l'indirizzo fornito loro dall'Ateneo (basato cioè sul dominio studenti.unimi.it) firmando con nome, cognome e matricola e ricordando che i tempi di risposta possono variare in funzione degli impegni del docente.
Materiale didattico
Il corso è prevalentemente basato sul seguente libro di testo: A. Silberschatz, P. B. Galvin, G. Gagne, Sistemi Operativi -- concetti ed esempi, nona edizione, Pearson Italia, 2014 (ISBN 978-88-7192-569-1). Siccome non è mai troppo presto per cominciare a leggere la documentazione tecnica in lingua inglese, i più avventurosi possono cimentarsi con l'edizione internazionale: Silberschatz, P. B. Galvin, G. Gagne, Operating Systems Concepts, 9th Edition, International Student Version, Wiley, 2013 (ISBN 9788865183717).
Gli studenti che non hanno dimestichezza con il linguaggio C possono fare riferimento al testo storico: B. W. Kernighan, D. M. Ritchie, Il linguaggio C. Principi di programmazione e manuale di riferimento, seconda edizione, Pearson, 2007. Anche in questo caso non è una cattiva idea considerare di leggere la versione in lingua originale. Un testo più approfondito è invece K. N. King, C Programming -- A Modern Approach, W. W. Norton (in questo caso l'edizione italiana è disponibile ma sconsigliata a causa di una traduzione non ottimale).
La parte di corso relativa alla scrittura di codice multi-processo è spiegata sul libro di testo e nell'articolo Delve into UNIX process creation.
La scrittura di socket in C è spiegata nell'howto Sockets tutorial.
È possibile esercitarsi sui problemi indicati a fine capitolo nel libro di testo, oppure facendo riferimento al seguente eserciziario: D. Malchiodi, Sistemi operativi -- esercizi risolti e commentati, 2015 (ISBN 978-88-91091-41-3).
Programma
Il programma riguarda gli argomenti dettagliati nel calendario delle lezioni, che corrisponde al materiale trattato sul libro di testo (nell'edizione italiana) all'interno dei capitoli 1, 2 (escluso il paragrafo 2.8), 3, 4 (paragrafi 4.1–4.4.1 e 4.6), 5 (paragrafi 5.1–5.7 e 5.9.4) 6 (escludendo i paragrafi 6.6 e 6.7), 7, 8 (paragrafi 8.1–8.6.3), 9 (esclusi i paragrafi 9.7, 9.8, 9.9.3, 9.9.6 e 9.10), 10 (esclusi i paragrafi 10.6 e 10.8), 11 (escluso il paragrafo 11.5) e 12 (fino al paragrafo 12.5 incluso), oltre al resto del materiale indicato tra il materiale didattico.
Calendario delle lezioni
| Lezione | Data | Argomento | Materiale |
|---|---|---|---|
| L01 | 02/03/2015 | Richiami di architettura | |
| L02 | 03/03/2015 | Introduzione al linguaggio C | |
| L03 | 09/03/2015 | Introduzione al linguaggio C | |
| L04 | 10/03/2015 | Strutture dei sistemi operativi | |
| L05 | 16/03/2015 | Processi concorrenti | |
| L06 | 17/03/2015 | Processi concorrenti | |
| L07 | 23/03/2015 | Processi concorrenti | |
| L08 | 24/03/2015 | Memoria condivisa e pipe | |
| L09 | 30/03/2015 | Gestione del processore | |
| L10 | 13/04/2015 | Gestione del processore | |
| L11 | 14/04/2015 | Socket | |
| L12 | 20/04/2015 | Thread | |
| L13 | 21/04/2015 | Sincronizzazione | |
| L14 | 27/04/2015 | Semafori | |
| L15 | 28/04/2015 | Rilevare e prevenire il deadlock | |
| L16 | 04/05/2015 | Evitare ed eliminare il deadlock | |
| L17 | 05/05/2015 | Gestione della memoria e allocazione contigua della memoria | |
| L18 | 11/05/2015 | Paginazione | |
| L19 | 12/05/2015 | Segmentazione. Memoria virtuale | |
| L20 | 18/05/2015 | Algoritmi di rimpiazzamento delle pagine | |
| L21 | 19/05/2015 | Implementazione della memoria virtuale | |
| L22 | 25/05/2015 | File system. Struttura delle directory e protezione | |
| L23 | 26/05/2015 | Implementazione di file system | |
| L24 | 08/06/2015 | I/O a basso livello |
