Corso di Laurea in Informatica - A.A. 2002-03

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 collegati al 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 NT, 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 2002-03, in formato PDF.

Bibliografia

Testi consigliati

  1. I moderni sistemi operativi (II ed.), A. Tanenbaum, Jackson Libri, 2002. ISBN 88-256-1898-0
    È il libro di testo principale. Capitoli 1-6,8,10,11.
  2. Cronologia di Unix
  3. Trasparenze usate in aula, per l'intero corso, in un unico file PDF.
  4. Trasparenze di Andrew Tanenbaum e modificate da me (in inglese).

Testi di consultazione

  1. Distributed Systems, A. Tanenbaum, M.R. Van Steen. Prentice Hall, 2002.
    Il naturale completamento in ambito distribuito del testo adottato.
  2. Sistemi Operativi V ed. A. Silberschatz, P. Galvin, Addison Wesley, 1998. ISBN: 88-7192-064-3.
  3. UNIX for Programmers and Users, seconda edizione. Graham Glass, King Ables. Prentice-Hall, 1999.
    Specialmente il capitolo 13, sugli internal di Unix.
  4. Unix distributed programming, Chris Brown, Prentice-Hall 1994. ISBN: 0-13-075896-5.
    Un ottimo testo consigliato a chiunque intenda svolgere della programmazione concorrente e distribuita in Unix. Non tratta i threads. Difficile da trovare (non è più stampato)
  5. 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. Può essere usato come (parziale) rimpiazzo dell'introvabile Brown. Non tratta i threads.

Orario delle lezioni e ricevimento

Lezioni Ricevimento
I quadrimestre lunedì III fascia (Aula I) martedì IV fascia (Aula I) lunedì IV fascia
II quadrimestre lunedì II fascia (Aula I) martedì II fascia (Aula H) giovedì I fascia
venerdì IV fascia
III quadrimestre lunedì II fascia (Aula H) martedì I fascia (Aula H) lunedì III fascia
martedì III fascia

Il ricevimento si svolge presso lo studio del docente (SN13, Dipartimento di Matematica e Informatica). Eventualmente anche su appuntamento: miculan@dimi.uniud.it

Nota Bene: Nel mese di Agosto 2003, il ricevimento avra' luogo solo durante la settimana 18-22. Precisamente, lunedi' 18 e martedi' 19, dalle 10 alle 12, oppure su appuntamento.

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, a partire dal secondo appello, 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. 16/06/2003: risultati.
  2. 14/07/2003: risultati.
  3. 01/09/2003: risultati.
  4. 24/09/2003: risultati.
  5. 01/12/2003: risultati, soluzione.



Marino Miculan