en
Politecnico di Torino
Anno Accademico 2011/12
01NWGOT, 01NWGOC
Operating systems and system programming
Corso di Laurea Magistrale in Ingegneria Delle Telecomunicazioni (Telecommunications Engineering) - Torino
Corso di Laurea Magistrale in Ingegneria Telematica (Computer And Communication Networks Engineering) - Torino
Docente Qualifica Settore Lez Es Lab Tut Anni incarico
Rebaudengo Maurizio ORARIO RICEVIMENTO O2 IINF-05/A 60 0 20 0 3
SSD CFU Attivita' formative Ambiti disciplinari
ING-INF/05 8 C - Affini o integrative Attivitą formative affini o integrative
Presentazione
The course is taught in English.
Insegnamento della Laurea Magistrale in Computer and Communication Networks Engineering, collocato al I periodo didattico del I anno.
Il modulo ha lo scopo di introdurre gli elementi principali dell'architettura dei sistemi operativi, illustrandone la struttura di base e il funzionamento dal punto di vista dell'utilizzatore avanzato e del programmatore di sistema. Il corso approfondirą inoltre alcuni concetti relativi al progetto di sistemi operativi.
Risultati di apprendimento attesi
- Conoscenza della classificazione dei Sistemi Operativi.
- Conoscenza dell'architettura dei sistemi operativi come gestore di risorse.
- Conoscenza dell'organizzazione del kernel di un sistema operativo.
- Conoscenza e gestione dei processi e thread d'esecuzione concorrenti.
- File system, memoria, system call. Macchine virtuali.
- Shell di sistema (Unix).
- Kernel Linux e problematiche di compilazione. Driver per il sistema operativo Linux.
Prerequisiti / Conoscenze pregresse
- Capacitą di sviluppare programmi in linguaggio C.
- Conoscenza dell'architettura dei sistemi di elaborazione: in particolare struttura del processore e organizzazione della memoria.
- Conoscenza del meccanismo di interruzione e dei fondamenti di un linguaggio Assembler.
Programma

Architettura di un Sistema Operativo (0.5 crediti)
- Classificazione dei sistemi operativi
- Struttura di un sistema operativo, risorse gestite e moduli corrispondenti
- Il Kernel: possibili organizzazioni

Processi e Thread (1 credito)
- Tipi di processi
- Processi concorrenti
- Gestione dei processi
- I thread

Sincronizzazione di Processi e Thread (1,5 crediti)
- Variabili e primitive semaforiche
- Costrutti linguistici ad alto livello
- Inter-Process Communication
- Il problema del deadlock
- Posix Threads

File system, memoria, system call, macchine virtuali (1 credito)
- File system
- Memoria
- System call
- Macchine virtuali

Unix shell (1 credito)
- Bash, awk.
- Compilatore gcc.
- Debugger.
- Profiler.

Linux kernel e Linux driver (1 credito)
- Gestione della ricompilazione del kernel Linux.
- Realizzazione di driver Linux
Organizzazione dell'insegnamento
- Utilizzo e programmazione di un sistema Linux
- Compilazione e gestione del kernel Linux
Testi richiesti o raccomandati: letture, dispense, altro materiale didattico
Lucidi delle lezioni utilizzati dal docente.

I testi, scelti tra quelli elencati, saranno comunicati a lezione dal docente titolare dell'insegnamento


S. Venkateswaran
Essential Linux Device Drivers
Prentice-Hall, 2008, ISBN-10: 0-13-239655-6

Silbershatz A., Galvin. P., Gagne G.
Sistemi Operativi. Concetti ed Esempi
8^ Edizione, Pearson Education Italia, 2009, ISBN-10: 8-87-192233-6

W.Richard Stevens, Stephen A. Rago
Advanced Programming in the UNIX Environment
Addison Wesley; 2 edition (7 July 2005),ISBN-10: 0201433079 ISBN-13: 978-0201433074
Criteri, regole e procedure per l'esame
Esame scritto della durata di 60 minuti, che conterrą domande a risposta aperta sul contenuto del corso. Il corretto svolgimento delle esercitazioni di laboratorio potrą dare adito ad un punteggio aggiuntivo.
Orario delle lezioni
Statistiche superamento esami

Programma definitivo per l'A.A.2011/12
Indietro