|Politecnico di Torino|
|Academic Year 2014/15|
Operating systems for embedded systems
Master of science-level of the Bologna process in Computer Engineering - Torino
Master of science-level of the Bologna process in Mechatronic Engineering - Torino
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 (RTEMS, 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 (0.5 credits)
- Virtual platforms.
Operating Systems for Embedded Systems (3 credits)
- Real time and process scheduling.
- Analysis of the architecture and services offered by operating systems for embedded: RTEMS, VxWorks, Linux.
- Anatomy of a Linux operating system for embedded systems: bootloader (U-Boot), kernel, file system (busybox).
- I/O management, and device drivers.
Lab experiences (2 credits)
- 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 (e.g., the ultrasonic sensor).
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.
Embedded Linux Primer: A Practical Real-World Approach
Prentice-Hall, 2006, ISBN-10: 0-13-167984-8
Essential Linux Device Drivers
Prentice-Hall, 2008, ISBN-10: 0-13-239655-6
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.
8th Edition, Wiley, 2009, ISBN: 978-0-470-12872-5
Assessment and grading criteria
Mid-term assignment (30% of the final grade)
End-term assignment (30% of the final grade)
Written exam on the theoretical aspects of the course (40% of the final grade)
Programma definitivo per l'A.A.2014/15