Servizi per la didattica
PORTALE DELLA DIDATTICA

Operating systems for embedded systems

02NPSOV

A.A. 2018/19

Course Language

English

Course degree

Master of science-level of the Bologna process in Computer Engineering - Torino

Course structure
Teaching Hours
Lezioni 60
Esercitazioni in laboratorio 20
Teachers
Teacher Status SSD h.Les h.Ex h.Lab h.Tut Years teaching
Violante Massimo Professore Associato ING-INF/05 60 0 40 0 10
Teaching assistant
Espandi

Context
SSD CFU Activities Area context
ING-INF/05 8 B - Caratterizzanti Ingegneria informatica
2018/19
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. L’insegnamento 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, nello specifico: 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.
The course is taught in English. This course is part of the Master Degree in Computer Engineering, focused on Embedded Systems, and it is eligible course for the Master Degree in Mechatronic Engineering. The course aims at deepening the concepts acquired during the Operating Systems course, describing the peculiarities of embedded systems, of the dedicated development tools, and outlining the peculiarities of some operating systems for embedded systems that are particularly relevant (process scheduler, OSEK/VDX, AUTOSAR, Linux). The course will also deepen the concepts of real-time embedded systems, and the issues of communications with ad-hoc hardware components.
- 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.
- Concept of embedded system. - Understanding of the development tools for embedded systems: cross-compiler, emulator, debug tools, profiling tools, virtualization tools. - Concept of real-time embedded systems. - Understanding of examples of operating systems for embedded systems. - Skill for the development of modules for the communication with ad-hoc hardware components.
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.
- Ability to develop programs in C language. - Knowledge of the architecture of computer-based systems: in particolar knowledge of processor architecture and memory organization. - Knowledge of the interrupt mechanisms, and basic knowledge of assembly programming.
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 (0.5 crediti) - Cross-compiler. - Emulatore. - Debugger. - Profiler. - Piattaforma di virtualizzazione. Sistemi Operativi per Sistemi Embedded (4 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.
Introduction to Embedded Systems (0.5 CFU) - Classification with respect to desktop systems. - Memory technology device. Development tools (0.5 CFU) - Cross-compiler. - Emulator. - Debugger. - Profiler. - Virtual platforms. Operating Systems for Embedded Systems (4 CFU) - Real time and process scheduling. - Analysis of the architecture and services offered by operating systems for embedded: process scheduler, VxWorks, OSEK/VDX, AUTOSAR, Linux. - Anatomy of an operating system for embedded systems. Programming of an embedded OSEK/VDX system (1 CFU): - I/O management, and device drivers. - Use of an evaluation board. - Building a OSEK/VDX operating system for embedded systems: how to use development tools. - Design and development of device drivers for custom devices. Advanced tools for debugging and profiling of embedded systems (1 CFU) AUTOSAR concept, and AUTOSAR basic software architecture (1 CFU):
Il corso è organizzato in lezioni frontali ed esercitazioni in aula, nonché di esercitazioni di laboratorio.
The course is organized in lectures and exercises in class, and practical exercises in laboratory. The topics are presented during formal lectures/exercises in class, and then are addressed from the practical point of view in the following week.
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
Notes provided by the teacher. Additional reading: 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
Modalità di esame: prova scritta; progetto di gruppo;
L’esame è composta da due prove: 1. Esame di teoria: esame scritto della durata di 60 minuti, senza l’ausilio di materiale didattico, composto da domande a risposta aperta sugli argomenti del corso, ed esercizi che richiedono l’applicazione dei concetti presentati a lezione su esempi numerici. La valutazione massima per questa prova è 33/30. 2. Esame di programmazione 1: Esame scritto della durata di 45 minuti, con l’ausilio di materiale didattico, che richiede la realizzazione di un programma per il sistema operativo Micrium mC/OS. Questa prova può essere sostenuta mediante lo svolgimento di un progetto individuale di laboratorio proposto durante il corso e da consegnare entro la fine del periodo didattico. La valutazione massima per questa prova è 33/30. I criteri per l’attribuzione del voto finale sono i seguenti: il voto è ottenuto pesando al 70% l’esame di teoria e al 30% l’esame di programmazione 1. Nel caso in cui il voto finale sia 33/30, sarà registrato come 30L.
Exam: written test; group project;
Exam Written exam lasting 60 minutes, closed books, composed of questions on the exam content, and numerical exercises to apply the theory presented in class. The maximum score for this part is 33. Assignment Students will be asked to deliver a group assignment (2 persons per group) to be developed during the semester, describing the activities done in lab. The maximum score for this part is 33. The final grade is obtained using the following weights: 70% for the written exam, 30% for the assignment. In case the final grade is 33/30, 30L will be recorded.


© Politecnico di Torino
Corso Duca degli Abruzzi, 24 - 10129 Torino, ITALY
m@il