Indice

Programma A.A. 2012/13

Obiettivi di apprendimento

Il corso è strutturato in due moduli: il primo modulo presenta i fondamenti dei sistemi operativi e il secondo modulo di laboratorio mostra un’applicazione concreta dei concetti teorici presentati nel primo modulo. Il primo modulo introduce i principi ed i concetti su cui si basano i sistemi operativi e analizza la loro realizzazione nei sistemi reali. In particolare, vengono presentate le tecniche che consentono di coordinare e gestire le risorse di un sistema di elaborazione e che permettono di trasformare la macchina fisica in una macchina astratta, dotata di funzionalità più convenienti per l'utente. Il corso lascia ampio spazio alla descrizione e all'esemplificazione di come i vari concetti presentati sono realizzati nei sistemi Unix/Linux e in quelli della famiglia Microsoft Windows. Il secondo modulo fornisce le conoscenze di base relative alla programmazione C con chiamate di sistema Unix/POSIX. In particolare, vengono prese in considerazione le chiamate standard per il trattamento di file e directory, processi, thread, segnali, pipe, socket e vari meccanismi di sincronizzazione.

Conoscenze. Lo studente raggiungerà la conoscenza delle problematiche dei sistemi operativi e delle caratteristiche dei sistemi attualmente più usati

Capacità. Lo studente raggiungerà la capacità di realizzare programmi in C usando librerie e chiamate di sistema UNIX/Posix.

Comportamenti. Il corso non si pone obiettivi di apprendimento in termini di comportamenti attesi.

Descrizione

Il corso tratta i fondamenti dei moderni sistemi operativi, presentando i concetti di base e la loro applicazione nei sistemi reali. I principali argomenti trattati sono:

Modulo 1: Sistemi Operativi

Introduzione (2 ore)

Organizzazione dei Sistemi Operativi (2 ore)

I processi (8 ore)

Interazione tra processi (8 ore)

Gestione del processore (4 ore)

Gestione della Memoria (10 ore)

Gestione dei dispositivi di I/O (6 ore)

Gestione degli Archivi (8 ore)

Modulo 2: Laboratorio

Strumenti per la programmazione C in ambiente GNU (e dintorni) (2h lez + 2h ese)

Unix e la shell (6h lez + 6h ese)

C e la programmazione di sistema (1h lez)

I file (2h lez + 2 h ese)

I processi (2h lez + 2h ese)

I thread (3h lez + 4h ese)

Maccanismi di IPC : Pipe (2h lez + 2h ese)

Maccanismi di IPC : Socket (2h lez + 2h ese)

Segnali (2h lez + 2h ese)

Ore lezione: 52 Ore esercitazione: 40

Bibliografia

Libri di testo

Altri Testi Consigliati: