Politecnico di Torino | |||||||||||||||||
Anno Accademico 2012/13 | |||||||||||||||||
04JEZOQ Operating systems |
|||||||||||||||||
Corso di Laurea Magistrale in Ingegneria Elettronica (Electronic Engineering) - Torino |
|||||||||||||||||
|
|||||||||||||||||
|
|||||||||||||||||
Esclusioni: 01OBD; 01NVT; 01NOS; 01NYD; 02LPO |
Presentazione
The course is taught in English.
Insegnamento obbligatorio della Laurea Magistrale in Electronic Engineering, Orientamento Sistemi Embedded, collocato al II periodo didattico del I anno. Il modulo ha lo scopo di introdurre gli elementi di base dell'architettura dei sistemi operativi e di discutere la peculiaritą dei sistemi operativi per sistemi embedded, e gli strumenti di sviluppo ad essi dedicati. Il corso approfondirą inoltre i concetti di sistemi embedded in tempo reale, e le problematiche di comunicazione con dispositivi hardware dedicati. |
Risultati di apprendimento attesi
- Conoscenza della classificazione dei Sistemi Operativi: Batch, Interattivi, Real-time, Macchine virtuali.
- Conoscenza dell'architettura dei sistemi operativi come gestore di risorse. - Conoscenza dell'organizzazione del kernel di un sistema operativo. - Conoscenza e capacita' di gestione dei processi e thread d'esecuzione concorrenti. - Concetto di sistema embeeded. - Saper usare li strumenti di sviluppo per sistemi embedded: cross-compiler, emulatore, strumenti di debug, di profiling, di virtualizzazione. - Concetto di sistema embedded in tempo reale. - Capacitą di sviluppo di moduli per la comunicazione con dispositivi hardware dedicati. |
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 (5 ore)
- Classificazione dei sistemi operativi - Struttura di un sistema operativo, risorse gestite e moduli corrispondenti - Il Kernel: possibili organizzazioni Processi (5 ore) - Tipi di processi - Processi concorrenti - Gestione dei processi Sincronizzazione di Processi (15 ore) - Variabili e primitive semaforiche - Costrutti linguistici ad alto livello - Inter-Process Communication - Il problema del deadlock Introduzione ai Sistemi Embedded (5 ore) - Classificazione e peculiaritą rispetto sistemi desktop. - Memory technology device. Strumenti di sviluppo (5 ore) - Cross-compiler. - Emulatore. - Debugger. - Profiler. - Piattaforma di virtualizzazione. Sistemi Operativi per Sistemi Embedded (15 ore) - Vincoli di tempo reale e schedulazione dei processi. - Anatomia dettagliata di un sistema operativo Linux per sistemi embedded: bootloader (U-Boot), kernel, file system (busybox). - Gestione dell'I/O, e device driver. |
Organizzazione dell'insegnamento
- Uso di una piattaforma virtuale per l'emulazione di un sistema embedded.
- Costruzione di un sistema operativo Linux per un sistema embedded: uso degli strumenti di sviluppo. - Progetto, e sviluppo di un device driver per una periferica dedicata. |
Testi richiesti o raccomandati: letture, dispense, altro materiale didattico
'I testi, scelti tra quelli elencati, saranno comunicati a lezione dal docente titolare dell'insegnamento'
Lucidi delle lezioni forniti dal docente. C. Hallinan Embedded Linux Primer: A Practical Real-World Approach Prentice-Hall, 2006, ISBN-10: 0-13-167984-8 S. Venkateswaran Essential Linux Device Drivers Prentice-Hall, 2008, ISBN-10: 0-13-239655-6 A. Berger Embedded Systems Design: An Introduction to Processes, Tools and Techniques CMP Books, 2001, ISBN-10: 1-57-820073-3 Silbershatz A., Galvin. P., Gagne G. Sistemi Operativi. Concetti ed Esempi 8^ Edizione, Pearson Education Italia, 2009, ISBN-10: 8-87-192233-6 |
Criteri, regole e procedure per l'esame
Esame scritto della durata di 60 minuti conterrą domande a risposta aperta sul contenuto del corso.
|
Orario delle lezioni |
Statistiche superamento esami |
|