Corso di Laurea in Informatica - A.A. 2003-04

Corso di Sistemi Operativi

Marino Miculan

Indice

Descrizione del corso
Programma
Bibliografia
Orario lezioni e ricevimento studenti
Esami
Risultati degli scritti

Descrizione del corso

I sistemi operativi sono parte essenziale di un sistema di calcolo. Nella maggior parte dei casi, essi implementano la vera piattaforma sulla quale si svolge tutta l'attività di analisi, sviluppo, implementazione ed esecuzione dei sistemi software, incapsulando ed astraendo dal sistema hardware sottostante.
È pertanto necessario che uno studente di Informatica possieda le basi per comprendere le principali problematiche relative all'efficace utilizzo (da utente, da progettista, da programmatore, da amministratore) di un sistema operativo moderno.
Allo scopo di fornire tali basi, durante il corso verranno discussi alcuni concetti fondamentali relativi ai sistemi operativi e alle loro funzionalità primarie (gestione dei processori, della memoria e dei dispositivi di ingresso/uscita).
Inoltre un moderno informatico non può non conoscere tecniche di programmazione concorrente, e gli aspetti concernenti il calcolo parallelo e distribuito.

I concetti generali previsti per il corso, ampliamente coperti dal materiale bibliografico consigliato, verranno discussi a lezione in maniera relativamente indipendente da specifici sistemi operativi. Essi saranno comunque esemplificati facendo riferimento a comuni sistemi operativi (Unix, Linux, Windows 2000, etc.)

Parallelamente, il corso accessorio di Laboratorio di Sistemi Operativi offre l'opportunità allo studente di mettere in pratica le nozioni apprese e di verificarne la comprensione. Inoltre tale corso offrirà le nozioni di base relative all'uso di linguaggi di scripting, della programmazione di sistema e della programmazione distribuita.
Allo studente, oltre che capire ed imparare quanto suggerito a lezione, verrà chiesto di svolgere alcuni progetti. Condizione necessaria per sostenere l'esame di Sistemi Operativi è lo svolgimento dei progetti obbligatori del corso di Laboratorio.

Programma

  1. Aspetti generali
  2. Processi e Thread
  3. Programmazione concorrente
  4. Gestione della memoria
  5. Input/Output
  6. Il file system
  7. Sistemi con processori multipli
È possibile scaricare il diario completo delle lezioni tenute durante l'anno accademico 2003-04, in formato PDF.

Bibliografia

Testi consigliati

I due testi migliori per questo corso sono i seguenti:
  1. A. Silberschatz, P.B. Galvin, G. Gagne, Sistemi operativi (sesta ed.). Addison-Wesley, 2002. ISBN 88-7192-140-2.
  2. A. Tanenbaum, I moderni sistemi operativi (II ed.). Jackson Libri, 2002. ISBN 88-256-1898-0.
Sono entrambi eccellenti, ma in parte complementari: ci sono aspetti trattati meglio in uno che nell'altro, e viceversa. Per questo è essenziale integrare ognuno dei testi precedenti con appunti presi a lezione e il seguente materiale:
  1. Trasparenze usate in aula, per l'intero corso: in un unico file PDF, oppure in parti:
    1. Introduzione generale
    2. Richiami di hardware, e strutture dei S.O.
    3. Servizi e Strutture dei S.O.
    4. Processi e Thread
    5. Scheduling di breve termine
    6. Processi cooperanti
    7. Deadlock
    8. Gestione della memoria
    9. Gestione della memoria virtuale
    10. Gestione dell'I/O
    11. Gestione del File System
    12. Sistemi a più processori
  2. Cronologia di Unix

Testi di consultazione

  1. Distributed Systems, A. Tanenbaum, M.R. Van Steen. Prentice Hall, 2002.
    Il naturale completamento in ambito distribuito del testo precedente.
  2. UNIX for Programmers and Users, seconda edizione. Graham Glass, King Ables. Prentice-Hall, 1999.
    Specialmente il capitolo 13, sugli internal di Unix.
  3. Unix system programming, Keith Haviland, Dina Gray, Ben Salama, seconda edizione. Addison Wesley, 1998. ISBN: 0-201-87758-9.
    Buon libro di programmazione, ricco di esempi. Non tratta i threads.

Orario delle lezioni e ricevimento

Ricevimento: lunedì, martedì, dalle 14 alle 16.
Il ricevimento si svolge presso lo studio del docente (SN13, Dipartimento di Matematica e Informatica). Eventualmente anche su appuntamento: miculan@dimi.uniud.it

Modalità d'esame

L'esame è organizzato in una prova scritta, seguita eventualmente da un esame orale (soprattutto per discriminare le situazioni "di confine"). Per l'ammissione all'orale e alla registrazione è necessario aver svolto con successo i progetti obbligatori del corso di Laboratorio S.O.

Ecco alcune FAQ:

Quanto conta il voto del corso di Laboratorio S.O.?
Il 10% del totale. Più precisamente, il voto dell'esame è determinato dalla somma di tre valori:
Vfinale = Vscritto + Vlab + Vorale
dove, in generale
Precisamente, cosa è una "situazione di confine"?
L'ammissione e l'obbligatorietà dell'esame orale è data dalla seguente regola Ne consegue che per essere ammessi all'orale è necessario aver conseguito il voto di Laboratorio S.O.
In cosa consiste l'orale?
In due-tre di domande. Con l'orale si può variare il voto dello scritto al massimo di due-tre punti. In più, ma anche in meno.
Le domande saranno su argomenti teorici del libro e dispense, o qualcos'altro?
Su argomenti teorici del libro, delle dispense e trattati in aula. Ma anche qualcos'altro.
Se l'orale va male, posso tenermi il voto dello scritto?
No. Una volta iniziato l'orale, questo fa parte integrante dell'esame e concorre alla formazione del voto finale.
È necessario iscriversi su Sindy per sostenere lo scritto?
Sì. Dato che i compiti verranno preparati in funzione del numero di iscritti, per essere ammessi all'esame è necessario iscriversi presso Sindy (http://www.sindy.uniud.it/) almeno due giorni prima la data dello scritto. Chi non fosse in grado di iscriversi via web, può contattarmi direttamente via email.
È necessario iscriversi su Sindy per sostenere l'orale?
No, in quanto gli ammessi all'orale si sono già iscritti su Sindy per lo scritto.
È necessario aver conseguito il voto di Laboratorio per sostenere l'orale?
Sì. Vedi sopra.
In quale ordine si svolgono gli orali?
Nell'ordine di iscrizione su Sindy (per gli scritti)
Quando si registra il voto di chi ha superato lo scritto ma non deve (né vuole) fare l'orale?
I voti intermedi (tra 20 e 27, compresi) vengono registrati il giorno dell'orale, prima di iniziare gli orali.

Risultati delle prove scritte

Appelli:
  1. 22/03/2004: risultati.
  2. 07/04/2004: risultati.
  3. 19/07/2004: risultati.
  4. 07/09/2004: risultati.
  5. 29/11/2004: risultati, soluzione.


Marino Miculan