61801 - Sistemi di Elaborazione dell'Informazione II (A.A. 2010/2011)
Informazioni generali
Sistemi di Elaborazione dell'Informazione II (SEI2, codice 61801) vale 6 crediti e si svolge nel primo semestre dei seguenti anni: 2°
L-31.
Ulteriori dettagli sono disponibili sulla
homepage dell'insegnamento.
Per gli studenti iscritti, il materiale didattico è disponibile su
AulaWeb.
Propedeuticità
Introduzione alla programmazione, Sistemi di Elaborazione dell'Informazione I
Obiettivi formativi
Raggiungere un'approfondita conoscenza da utente delle problematiche legate alla realizzazione dei sistemi operativi e delle caratteristiche dei sistemi attualmente più usati, completando lo studio iniziato nel corso di SEI I. Vengono inoltre fornite le conoscenze di base relative alla programmazione di sistema con chiamate di Unix/POSIX.
Programma dell'insegnamento
- Introduzione.
- Richiami struttura del calcolatore ed elementi di sistemi operativi già visti a SEI I.
- Processi e Thread
- Paradigmi di interazione: condivisione, sincronizzazione, comunicazione. Scheduling di thread e processi. Processi e thread in Unix/Windows.
- Gestione della memoria
- Paginazione. Algoritmi di sostituzione. La gestione della memoria in Unix/Windows.
- Gestione dei dispositivi di Ingresso/Uscita
- Dispositivi e processi controller. Caratteristiche del software di I/O, vari livelli di gestione: interruzioni, driver dei dispositivi, I/O software indipendente dai dispositivi. Gestione di alcuni dispositivi: dispositivi a caratteri, clock, dischi magnetici. Esempi di gestione dei dispositivi in Unix/Windows. File System
- Modello logico del sistema di archiviazione, file, directory. Implementazione del sistema di archiviazione, file, directory. Implementazione di un file system. Esempi di file systems nei sistemi reali. Casi di Studio: Unix/Windows.
- Struttura e caratteristiche dei sistemi Unix/Linux e Windows.
- Programmazione con chiamate di sistema Unix/POSIX.
- Introduzione alla shell. Funzionalità. Gestione file (open, read, write, close, dup, stat, seek). Gestione directory (opendir, readdir, closedir). Gestione processi (fork, exec, wait, exit, chiamate per pid/gruppi). Gestione interruzioni (signal, kill, alarm, pause).
Docente responsabile
Francesco MasulliOrario di ricevimento: Giovedì ore 16.00-18.00 su appuntamento email
Altri docenti coinvolti
Stefano RovettaOrario di ricevimento: su appuntamento; disponibile anche senza appuntamento per questioni brevi
Testi di riferimento
Testo:
Andrew S. Tanenbaum, Modern Operating Systems (3rd Edition) Prentice Hall; 3 edition Prentice Hall, 2007, ISBN-10: 0136006639, ISBN-13: 978-0136006633 - Traduzione italiana: I moderni sistemi operativi 3/Ed., Prentice Hall 2009, ISBN 9788871925400
Per la programmazione sotto linux:
Advanced Linux Programming by CodeSourcery LLC, published by New Riders Publishing. Scaricabile gratuitamente: http://www.advancedlinuxprogramming.com/ .
Approfondimenti:
Daniel P. Bovet, Marco Cesati, Understanding the Linux Kernel, Third Edition, O'Reilly Media; 3 edition, 2005, ISBN-10: 0596005652, ISBN-13: 978-0596005658
Uresh Vahalia, UNIX Internals: The New Frontiers, Prentice Hall, 1995, ISBN-10: 0131019082, ISBN-13: 978-0131019089
Mark E. Russinovich and David A. Solomon, Windows Internals, Fifth Edition, Microsoft Press, 2009, ISBN 13:9780735625303, ISBN 10:0-73-56-2530-1
Graham Glass , King Ables, Linux for Programmers and Users, Prentice Hall, 2006, ISBN-10: 0131857487 ISBN-13: 978-0131857483
Modalità di erogazione dell'insegnamento
Tradizionale
Orario delle lezioni
Mercoledì: 9:00 - 11:00, aula 506
Giovedì: 9:00 - 11:00, aula 506
Modalità di frequenza
Facoltativa.
Frequenza consigliata. La frequenza verra' verificata e permettera' di accedere alle modalita' di esame previste per gli studenti frequentanti.
Metodo di valutazione
Prova scritta. Compiti a casa facoltativi ma valutabili.
Modalità di iscrizione agli esami
Attraverso Aulaweb.
Commissione di esame
Presidente:
Masulli Francesco
Membri:
Rovetta Stefano
Supplenti:
Verri Alessandro