DIPARTIMENTO   DI   INFORMATICA
Università di Torino

Corso di Sistemi Operativi e Sperimentazioni

Laurea in Informatica - percorso STISI

Anno accademico: 2005-2006

Docenti: Marco BOTTA, Cristina BAROGLIO

Numero di ore: 54 (in aula) + 36 (in laboratorio)
Numero di CFU (Crediti Formativi Universitari): 6 (in aula) + 3 (in laboratorio)
Moduli: MODULO 1 (lezioni in aula) , MODULO 2 (lezioni in laboratorio)


INDICE

  1. Obiettivi del corso
  2. Competenze attese e propedeuticità
  3. Come si svolgono le lezioni (supporti alla didattica in uso alla docenza)
  4. Programma/contenuti
  5. Materiale didattico di supporto (a cura del docente)
  6. Bibliografia (libri, articoli, documenti on-line,...)
  7. Controllo dell'appprendimento (durante il corso)
  8. Verifica (modalità d'esame)


1. Obiettivi del corso

Presentare le tematiche principali dei sistemi operativi, la loro organizzazione, le loro funzionalità e i principali meccanismi di gestione del sistema di calcolo. Nella parte di Sperimentazioni si introduce un sistema operativo reale (UNIX) e si affrontano le problematiche di sincronizzazione dei processi.

2. Competenze attese e propedeuticità

  • Competenze attese in ingresso (richieste all'inizio del corso). Il modulo presuppone un buona conoscenza di base sia di programmazione per la comprensione degli algoritmi, sia della architettura del calcolatore. Per la parte di Sperimentazioni è utile la conoscenza delle basi della programmazione imperativa in C.
  • Eventuali corsi propedeutici (forniscono le "competenze attese in ingresso"). Corsi fornitori: Programmazione I e II, Architetture, Laboratorio di Linguaggi
  • Competenze attese in uscita (acquisite durante il corso). Al termine del corso ci si aspetta che lo studente conosca il funzionamento di un sistema operativo, con particolare riferimento alle nozioni di scheduling, gestione della memoria e gestione delle periferiche. Inoltre, la parte di Sperimentazioni permette di acquisire conoscenza sui problemi di sincronizzazione.

3. Come si svolgono le lezioni (supporti alla didattica in uso alla docenza)

Le lezioni in aula saranno accompagnate da attività di laboratorio. Verranno utilizzati computer dotati di sistema operativo UNIX su piattaforme PC Pentium III, con un rapporto allievi/posti di lavoro di 2-3 a 1 anche per numeri elevati di allievi.

4. Programma/contenuti

Introduzione ai Sistemi operativi. Strutture dei Sistemi di Calcolo. Strutture dei Sistemi Operativi. Processi. Thread. Scheduling della CPU. Sincronizzazione dei Processi. Deadlock. Gestione della Memoria. Memoria Virtuale. Interfaccia del File System. Realizzazione del File System. Gestione dell'Hard disk. Programma di Laboratorio: realizzazione di una applicazione di sincronizzazione di processi da parte di studenti riuniti in piccoli gruppi di lavoro.

5. Materiale didattico di supporto (a cura del docente)

Per il materiale didattico on-line seguire i link dei due moduli del corso.

6. Bibliografia (libri, articoli, documenti on-line,...)

  • Silberschatz, P. Galvin: "Sistemi Operativi", Sesta Edizione, Addison-Wesley, 2002
  • B. Kernighan, R. Pike: "The UNIX programming environment", Prentice-Hall, 1984

7. Controllo dell'apprendimento (durante il corso)

Il controllo sull'apprendimento avverrà assegnando agli studenti il progetto da realizzare a metà corso e seguendoli durante lo svolgimento dello stesso.

8. Verifica (modalità d'esame)

L’esame consisterà nella discussione approfondita del progetto, che dovrà essere documentato da una relazione che ne descriva gli aspetti principali. Verrà richiesto al candidato di giustificare le scelte progettuali, e si verificherà anche che il candidato abbia assimilato i concetti dei sistemi operativi.



[Corso di Studi di Informatica]

Last update: Jan 09, 2006