Università Ca' Foscari Venezia
Dipartimento di Scienze ambientali, informatica e statistica
Corso di Laurea in Informatica
Sistemi operativi - modulo 1
(anno accademico 2015-2016)
prof. Augusto Celentano
Questa pagina si riferisce all'edizione 2015-2016 del primo modulo del corso di Sistemi operativi.
Dall'anno accademico 2016-2017 il corso è stato tenuto da altro docente. Alcuni link presenti in questa pagina possono quindi non essere più validi.
L'biettivo del corso è la descrizione della struttura e delle funzioni di un moderno sistema operativo multiprogrammato. Dopo aver introdotto i concetti di base relativi ai sistemi operativi moderni, il corso illustra i modelli teorici e le tecniche realizzative per la gestione dei processi, della memoria, del file system, dei sistemi di I/O e della memoria secondaria. Introduce i principi della programmazione concorrente e insegna i concetti e le tecniche relative alla sincronizzazione tra processi e thread, con sperimentazioni pratiche in laboratorio in C e Java. Come casi di studio vengono analizzati i sistemi operativi Unix/Linux, Windows e Mac OSX.
Il primo modulo del corso illustra le funzioni e i componenti di un sistema operativo. Il secondo modulo tratta gli argomenti della programmazione concorrente e della sincronizzazione tra processi e thread. Il sito web del secondo modulo è consultabile all'indirizzo http://www.dais.unive.it/~sob/.
Gli studenti degli anni passati possono contattare il prof. Celentano per posta elettronica: auce (at) unive (dot) it.
I testi di livello universitario sui sistemi operativi sono molti e coprono in modo più che adeguato gli argomenti del corso. Si consigliano alcuni testi, con l'elenco dei capitoli pertinenti al programma. I paragrafi esclusi riguardano approfondimenti che possono essere tralasciati ai fini dell'esame, ma costituiscono comunque un utile complemento formativo. I capitoli non menzionati riguardano argomenti che non sono trattati nel primo modulo del corso.
Il testo seguente è un ottimo compromesso tra chiarezza espositiva, completezza e rigore scientifico.
Un altro ottimo testo, di fatto uno dei migliori, è il seguente; in alcuni punti è piuttosto sintetico e non facile, e presuppone una buona conoscenza di base delle architetture di calcolo. E' un'ottima alternativa al testo di Deitel, Deitel e Choffnes soprattutto per chi vuole approfondire la materia con un approccio più progettuale.
Un testo molto buono e sicuramente consigliabile, ma disponibile solo in lingua inglese, è il seguente, disponibile on-line senza restrizioni di accesso. Il testo è interessante perché si concentra sugli aspetti più importanti della materia senza dispersione e contiene numerosi esempi pratici basati su codice eseguibile.
Di questo testo, la cui struttura è un po' differente dagli altri testi segnalati, possono essere ignorati i capitoli 9, 10, 23, 25-34, 44, 46-50.
Per la trattazione di alcuni argomenti relativi agli aspetti realizzativi dei sistemi basati su Unix si consiglia il testo:
Tutti i testi menzionati, con l'eccezione del testo di Arpaci-Dusseau accessibile on-line, sono disponibili presso la Biblioteca di Area Scientifica BAS.
I link seguenti:
rimandano a una riedizione liberamente accessibile on-line del testo di John Lions "A Commentary on the Sixth Edition UNIX Operating System with Source Code", scritto nel 1977 come sussidio didattico per i corso di Sistemi Operativi della New South Wales University, Australia, poi pubblicato nel 1996. Il testo contiene un commento dettagliato, quasi riga per riga, del codice sorgente del kernel della versione 6 di Unix, distribuito da Bell System Labs nel 1976. Per quanto si riferisca ad una versione ormai datata di Unix il testo conserva la sua validità didattica perché consente di "toccare con mano" il codice completo di un sistema operativo reale, e la documentazione permette di seguirlo agevolmente anche nei passaggi più difficili.
La descrizione dell'algoritmo di allocazione memoria Buddy system, non illustrato nel testo di Deitel, Deitel, Choffnes, è chiaramente descritto in un articolo di Wikipedia.
I siti Web dei libri di testo consigliati contengono (con riferimento alla versione inglese) errata-corrige, esercizi, esempi, altro materiale didattico e ulteriori riferimenti a risorse on-line:
Ultimo aggiornamento: 17 dicembre 2017.