Politecnico di Torino | |||||||||||||||||
Anno Accademico 2011/12 | |||||||||||||||||
01NPSOV, 01NPSOR Operating systems for embedded systems |
|||||||||||||||||
Corso di Laurea Magistrale in Ingegneria Informatica (Computer Engineering) - Torino Corso di Laurea Magistrale in Ingegneria Meccatronica - Torino |
|||||||||||||||||
|
|||||||||||||||||
|
|||||||||||||||||
Esclusioni: 01NOC; 06GGN; 01LSE; 01NRK |
Presentazione
The course is taught in English.
Insegnamento della Laurea Magistrale in Computer Engineering, Orientamento Sistemi Embedded, collocato al I periodo didattico del I anno. Il modulo ha lo scopo di approfondire i concetti acquisiti nel modulo di Sistemi Operativi, descrivendo le peculiaritą dei sistemi embedded, degli strumenti di sviluppo ad essi dedicati, ed illustrando le peculiaritą di alcuni sistemi operativi per sistemi embedded particolarmente rappresentativi (RTEMS, VxWork, Linux). 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
- Concetto di sistema embeeded.
- Comprensione degli strumenti di sviluppo per sistemi embedded: cross-compiler, emulatore, strumenti di debug, di profiling, di virtualizzazione. - Concetto di sistema embedded in tempo reale. - Comprensione di esempi di sistemi operativi per sistemi embedded. - 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
Introduzione ai Sistemi Embedded (0.5 crediti)
- Classificazione e peculiaritą rispetto sistemi desktop. - Memory technology device. Strumenti di sviluppo (0.5 crediti) - Cross-compiler. - Emulatore. - Debugger. - Profiler. - Piattaforma di virtualizzazione. Sistemi Operativi per Sistemi Embedded (3 crediti) - Vincoli di tempo reale e schedulazione dei processi. - Analisi dell'architettura e dei servizi offerti da sistemi operativi per sistemi embedded: RTEMS, VxWorks, Linux. - 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
Esercitazioni in laboratorio (2 crediti)
- 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. - Analisi delle politiche di schedulazione dei processi. - Progetto, e sviluppo di un device driver per una periferica dedicata. |
Testi richiesti o raccomandati: letture, dispense, altro materiale didattico
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. Operating Systems 8th Edition, Wiley, 2009, ISBN: 978-0-470-12872-5 |
Criteri, regole e procedure per l'esame
Esame scritto (75% del voto) della durata di 45 minuti conterrą tre domande a risposta aperta sul contenuto del corso.
Progetto di laboratorio (25% del voto). |
Orario delle lezioni |
Statistiche superamento esami |
|