Politecnico di Torino
Politecnico di Torino
Politecnico di Torino
Academic Year 2015/16
Operating systems for embedded systems
Master of science-level of the Bologna process in Computer Engineering - Torino
Teacher Status SSD Les Ex Lab Years teaching
Violante Massimo ORARIO RICEVIMENTO AC ING-INF/05 60 0 20 9
SSD CFU Activities Area context
ING-INF/05 8 B - Caratterizzanti Ingegneria informatica
Subject fundamentals
The course is taught in English.

This course is part of the Master Degree in Computer Engineering, focused on Embedded Systems, given during the I teaching period of the I year.
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, VxWorks, Linux). The course will also deepen the concepts of real-time embedded systems, and the issues of communications with ad-hoc hardware components.
Expected learning outcomes
- 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.
Prerequisites / Assumed knowledge
- 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.
Introduction to Embedded Systems (0.5 credits)
- Classification with respect to desktop systems.
- Memory technology device.

Development tools (1.5 credits)
- Cross-compiler.
- Emulator.
- Debugger.
- Profiler.
- Virtual platforms.

Operating Systems for Embedded Systems (4 credits)
- Real time and process scheduling.
- Analysis of the architecture and services offered by operating systems for embedded: process scheduler, VxWorks, Linux.
- Anatomy of an operating system for embedded systems.
Programming of an embedded Linux system (2 credits):
- I/O management, and device drivers.
- Use of an evaluation board.
- Building a Linux-based operating system for embedded systems: how to use development tools.
- Design and development of device drivers for custom devices.
Texts, readings, handouts and other learning resources
'The reference book, chosen among the listed ones, will be notified during classes by the teacher'

Notes provided by the teacher.

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
Assessment and grading criteria
Written exam on the theoretical aspects of the course.
Assignment of the programming part of the course.

Programma definitivo per l'A.A.2015/16

© Politecnico di Torino
Corso Duca degli Abruzzi, 24 - 10129 Torino, ITALY
WCAG 2.0 (Level AA)