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 |
|||||||||||||||||
|
|||||||||||||||||
|
|||||||||||||||||
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 |
|