Corso di Informatica II (Modulo di Sistemi Operativi)
Sintesi del corso
Obiettivi formativi: il corso analizza i principi, il funzionamento, la struttura, politiche di gestione alla base dei sistemi operativi orientati alle principali aree applicative (sistemi transazionali, interattivi, gestionali, multimediali, robotici, embedded, ecc..).
Argomenti del corso: architettura, funzionalita, gestione dei processi, comunicazione tra processi, scheduling della CPU, deadlock, gestione della memoria, gestione dell'I/O, memorie di massa, file system, programmazione concorrente e distribuita in linguaggio Java, esempi di sistemi operativi.
Risultati Esami
- Registrazione esame:
- La segreteria studenti comunica che sullo sportello studenti esistono tre voci relative all'esame di informatica II:
- Una per il modulo di SO
- Una per il modulo di programmazione
- Una generale, che dovrebbe avere come docente Gargantini
- Per poter registrare il voto complessivo di Informatica II è necessario iscriversi alla terza voce.
- L'iscrizione al modulo di SO è comunque necessaria per poter sostenere l'esame.
- Preappello 6 giugno 2013 - Testo - Risultati
- Appello 21 giugno 2013 - Testo - Risultati
- Appello 9 luglio 2013 - Testo - Risultati
Calendario
Le date e gli orari riportati di seguito sono solo indicativi.
Consultare sempre il calendario ufficiale dell'università in quanto potrebbe essere più aggiornato.
- 4 marzo 2013 - Presentazione del corso e
introduzione ai sistemi operativi
- Definizione di SO - Sez. 1.1 Silberschatz
- Evoluzione e cenni storici - Sez. 1.2 Tanenbaum
- Classificazione dei SO - Sez. 1.3, 1.10, 1.11, 1.12 Silberschatz
- 8 marzo 2013 - Concetti fondamentali e struttura dei sistemi operativi
- Concetti fondamentali - Sez. 1.2, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 2.1, 2.2, 2.3, 2.4, 2.5, 2.10, 2.11 Silberschatz
- Struttura dei SO - Sez. 2.6, 2.7, 2.8 Silberschatz
- 11 marzo 2013 - Processi
- Definizione - Sez. 3.1 Silberschatz
- Scheduling dei processi - Sez. 3.2 Silberschatz
- Operazioni sui processi - Sez. 3.3 Silberschatz
- 14 marzo 2013 - Inter-Process Communication
- Memoria Condivisa e scambio di messaggi - Sez. 3.4 Silberschatz
- Esempi - Sez. 3.5 Silberschatz
- Comunicazioni in sistemi client server - Sez. 3.6 Silberschatz
- 18 marzo 2013 - Thread
- Definizione e modelli - Sez. 4.1, 4.2 Silberschatz
- Liberie per il controllo dei thread - Sez. 4.3 Silberschatz
- Problematiche relative ai thread - Sez. 4.4 Silberschatz
- I thread nei sistemi operativi Unix e windows - Sez. 4.5 Silberschatz
- Thread safeness Slide - Slide
- 19 marzo 2013 - Sincronizzazione
- Introduzione al problema e sezioni critiche - Sez. 6.1, 6.2 Silberschatz
- Soluzione di Peterson - Sez. 6.3 Silberschatz
- Sincronizzazione tramite istruzioni hardware - Sez. 6.4 Silberschatz
- Semafori - Sez. 6.5 Silberschatz
- 21 marzo 2013 - Sincronizzazione
- Problemi tipici di sincronizzazione - Sez. 6.6 Silberschatz
- I monitor - Sez. 6.7 (escluse 6.7.3, 6.7.4) Silberschatz
- Sincronizzazione in Solaris, Windows XP, Unix e Pthread - Sez. 6.8 Silberschatz
- Transazioni atomiche - Sez. 6.9 Silberschatz
- 22 marzo 2013 - Scheduling
- Introduzione al problema dello scheduling - Sez. 5.1, 5.2 Silberschatz
- Algoritmi di scheduling - Sez. 5.3 Silberschatz
- Scheduling dei thread - Sez. 5.4 (esclusa 5.4.1) Silberschatz
- Scheduling in sistemi multiprocessore - Sez. 5.5 (escluse 5.5.3, 5.5.4, 5.5.5) Silberschatz
- Scheduling in sistemi real-time - Sez. 19.5 (escluse 19.5.3, 19.5.4) Silberschatz
- Schedulazione in Windows XP e Linux - Sez. 5.6.2, 5.6.3 Silberschatz
- 8 aprile 2013 - Deadlock
- Modello e grafo di assegnazione delle risorse - Sez. 7.1, 7.2 Silberschatz
- Metodi per la gesione delle situazioni di stallo - Sez. 7.3, 7.4, 7.5, 7.6, 7.7 Silberschatz
- 29 aprile 2013 - Aula 9, 14.15 - 15.45 - Memoria Centrale
- Introduzione al problema - Sez. 8.1 Silberschatz
- Swapping - Sez. 8.2 Silberschatz
- Allocazione contigua della memoria - Sez. 8.3 Silberschatz
- Paginazione: teoria e strutture dati - Sez. 8.4, 8.5 Silberschatz
- Segmentazione - Sez. 8.6 Silberschatz
- Segmentazione con paginazione - Sez. 8.7 (esclusa 8.7.3) Silberschatz
- 6 maggio 2013 - Aula 9, 14.15 - 15.45 - Memoria Virtuale
- Introduzione al problema - Sez. 9.1 Silberschatz
- Paginazione su richiesta - Sez. 9.2 Silberschatz
- Copia su scrittura e file mappati in memoria - Sez. 9.3, 9.7.1, 9.7.3 Silberschatz
- Sostituzione della pagine - Sez. 9.4 (escluse 9.4.7, 9.4.8), Silberschatz
- Allocazione dei frame - Sez. 9.5 (esclusa 9.5.4) Silberschatz
- Paginazione degenere - Sez. 9.6 Silberschatz
- Altre considerazioni - Sez. 9.9 (esclusa 9.9.4) Silberschatz
- 17 maggio 2013 - Aula 9, 9.00 - 10.30 - Memoria Virtuale
- 20 maggio 2013 - Aula 9, 14.15 - 15.45 - Interfaccia del file system
- Introduzione al file system - Sez. 10.1 Silberschatz
- Metodi di accesso ai file - Sez. 10.2 Silberschatz
- Struttura della directory - Sez. 10.3 (esclusa 10.3.1)Silberschatz
- Montaggio di un file system - Sez. 10.4 Silberschatz
- Condivisione dei file - Sez. 10.5 Silberschatz
- Protezione - Sez. 10.6 Silberschatz
- 27 maggio 2013 - Aula 9, 14.15 - 15.45 - Realizzazione del file system
- Struttura del file system - Sez. 11.1 Silberschatz
- Realizzazione del file system - Sez. 11.2 Silberschatz
- Realizzazione delle directory e metodi di allocazione - Sez. 11.3, 11.4 Silberschatz
- Gestione dello spazio libero - Sez. 11.5 Silberschatz
- Efficienza e prestazioni - Sez. 11.6 Silberschatz
- Ripristino - Sez. 11.7 Silberschatz
- 30 maggio 2013 - Aula 8, 9.00 - 10.30
- 6 giugno 2013 - Aula 27, 8.30 - 11.30
N.B. Le slide delle lezioni potrebero essere leggermente modificate fino al giorno della lezione stessa>
Esercitazioni
Le esercitazioni di laboratorio riguarderanno la programmazione concorrente in Java.
Le esercitazioni saranno svolte su un sistema operativo Ubuntu.
Se non avete una versione di Ubuntu installata sul vostro PC poteto virtualizzarlo installando il software VirtualBox. Chi preferiresse usare il proprio portatile piuttosto che i pc dell'aula di informatica deve installare Virtual Box o Ubuntu
- 4 aprile 2013 - Aula 5, 9.00 - 11.30
- 11 aprile 2013 - Aula 5, 9.00 - 11.30
- 12 aprile 2013 - Aula 5, 17.00 - 18.30
- 17 aprile 2013 - Aula 5, 10.30 - 13.00
- 3 maggio 2013 - Aula 5, 10.30 - 13.00
- 9 maggio 2013 - Aula 5, 9.00 - 11.30
- 16 maggio 2013 - Aula 5, 9.00 - 10.30
- 23 maggio 2013 - Aula 5, 9.00 - 11.30
- 3 giugno 2013 - Aula 5, 14.14 - 15.45
Libri di testo
- Parte teorica
- Libro di testo ufficialmente adottato: A. Silberschatz, P. B. Galvin, G. Gagne: Sistemi operativi: concetti ed esempi. 8a edizione. Pearson Education Italia, 2009, ISBN13: 9788871925691, ISBN10: 8871925696
- Libro alternativo: A. Silberschatz, P. B. Galvin, G. Gagne. Sistemi operativi con esempi per l'uso in Java, Apogeo, 2005, ISBN: 8850321007
- Libro alternativo: A. S. Tanenbaum. I Moderni Sistemi Operativi, 3a Edizione. JACKSON LIBRI,2009
- Parte teorica
- Java Concurrency in Practice. Tim Peierls, Joshua Bloch, Joseph Bowbeer, David Holmes, and Doug Lea. Addison-Wesley, 2006.
Esame
L'esame consta di una prova scritta, e verte sia sulla parte di teoria che sulla parte di laboratorio. La prova scritta avrà luogo nella data fissata per l'appello. Alla prova scritta, seguirà (in data che verrà comunicata dal docente il giorno stesso della prova scritta) una prova orale che verte prevalentemente sulla discussione del compito; a discrezione del docente, è prevista una ulteriore domandina orale (valutata da -2 a +2 punti). L'esame si conclude con la verbalizzazione dell'avvenuto superamento o meno relativamente al modulo di "Sistemi Operativi".
Si ricorda che la prova orale è obbligatoria e che il non presentarsi comporta la rinuncia al voto ottenuto durante la prova scritta.
Si ricorda inoltre che l'effettiva registrazione dell'intero corso di INFORMATICA II avverrà solo dopo aver superato entrambi i moduli (modulo di programmazione ad oggetti + sistemi operativi) nell'arco di un ANNO SOLARE.
Gli appelli sono programmati per le seguenti date:
- Venerdi 21 giugno 2013
- Venerdi 9 luglio 2013