| Politecnico di Torino | |||||||||||||||||
| Anno Accademico 2016/17 | |||||||||||||||||
| 02NPSOV Operating systems for embedded systems |
|||||||||||||||||
|
Corso di Laurea Magistrale in Ingegneria Informatica (Computer Engineering) - Torino |
|||||||||||||||||
|
|||||||||||||||||
|
|||||||||||||||||
|
Presentazione
Il corso è erogato in Inglese.
Insegnamento della Laurea Magistrale in Computer Engineering, Orientamento Sistemi Embedded, ed insegnamento opzionale per il corso di laurea Magistrale in Meccatronica. Il modulo ha lo scopo di approfondire i concetti dei 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 (p.e., schedulatore di processi, VxWorks, Micrium mC/OS, 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 embedded.
- 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
Programma comune al corso per ing. Informatica e Meccatronica
Introduzione ai Sistemi Embedded (0.5 crediti) - Classificazione e peculiarità rispetto sistemi desktop. Strumenti di sviluppo (1.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: schedulatore di processi, VxWorks, Micrium mC/OS, Linux. - Anatomia dettagliata di un sistema operativo per sistemi embedded Programmazione di un sistema operativo Micrium mC/OS per sistemi embedded (1 crediti): - Gestione dell'I/O, e device driver. - Uso di una evaluation board. - Costruzione di un sistema operativo per un sistema embedded: uso degli strumenti di sviluppo. - Progetto, e sviluppo di device driver per periferiche non standard. Programma riservato ad ing. Informatica Programmazione di un sistema operativo Linux per sistemi embedded (2 crediti): - Gestione dell'I/O, e device driver. - Uso di una evaluation board. - Costruzione di un sistema operativo per un sistema embedded: uso degli strumenti di sviluppo. - Progetto, e sviluppo di device driver per periferiche non standard. |
|
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
Comune ad ing. Informatica e Meccatronica
Esame scritto con domande/esercizi sugli argomenti teorici del corso. Progetto sulla parte di programmazione Micrium mC/OS embedded. Riservato ad ing. Informatica Progetto sulla parte di programmazione Linux embedded. |
| Orario delle lezioni |
| Statistiche superamento esami |
|
|