Polo Tecnologico Nettuno: Universita' di Roma "La Sapienza"
Corso di Sistemi Operativi
AA. 2009/2010
Docente Francesco Quaglia
L'interazione con il docente per spiegazioni sulla materia avviene esclusivamente a ricevimento studenti. Seguire questo link per visualizzare l'orario di ricevimento ed eventuali avvisi a riguardo del ricevimento stesso
L'esame richiede il superamento di una prova orale e lo sviluppo di una tesina in linguaggio C su piattaforma LINUX o Windows.
Il voto conseguito alla prova orale pesa 3/5 sul voto finale, quello relativo alla tesina pesa 2/5 sul voto finale. Entrambe le prove devono essere sostenute nello stesso anno accademico.
La tesina puo' essere svolta individualmente o in gruppo (fino ad un massimo di 3 persone).
L'assegnazione delle tesine ha luogo durante il regolare orario di ricevimento, cosi' come lo svolgimento della prova orale e la discussione delle tesine stesse.
Testi consigliati
- [T1] Sistemi operativi - Silberschatz Abraham, Baer Galvin Peter, Gagne Greg - Addison Wesley, sesta edizione
- [T2] Operating Systems: Internals and Design Principles - William Stallings - Prentice Hall, fifth edition
- [T3] Francesco Quaglia, Camil Demetrescu, "Programmazione in Ambiente UNIX". Disponibile in formato pdf
- [T4] C/ANSI C, Principi di Programmazione e Manuale di Riferimento - Brian W.Kernighan, Dennis M.Ritchie - Pearson, Prentice Hall
Programma previsto per l'a.a. 2009-2010
- Introduzione ai sistemi operativi
- Richiami sull'organizzazione di un sistema di calcolo
- Obiettivi dei sistemi operativi
- Sistemi batch uniprogrammati e multiprogrammati
- Sistemi time-sharing
- Architettura di massima dei sistemi UNIX/Windows
- Processi
- Esecuzione e stati di processi
- Strutture di controllo di processi
- Immagine di un processo
- Liste di processi e scheduling
- Processi in UNIX/Windows
- Threads
- Concetti di base e ambienti multithreading
- Threads in UNIX/Windows
- Scheduling della CPU
- Metriche di riferimento
- Algorithmi di scheduling classici
- Scheduling multiprocessore
- Scheduling in UNIX/Windows
- Gestione della memoria
- Binding degli indirizzi
- Partizioni fisse e variabili
- Paginazione e segmentazione
- Memoria virtuale
- Memoria virtuale in sistemi UNIX/Windows
- Il file system
- Il concetto di file
- Metodi di accesso
- Implementazione del file system
- Il file system in UNIX/Windows
Slides didattiche di riferimento