Prof. William Fornaciari



Advanced Operating Systems (AOS)


Operating systems for real-time (with Miosix use-case). Task scheduling and time management. Design and development of software for embedded systems. Multi-tasking application development. Micro-controllers. System boot bare-metal vs OS. Accessing peripherals, I/O and interrupts. OS interfaces: file-system and system calls.


Working Students requiring a certification of presence to the written exam:

Please print out the following form to be presented during the exam. Remember to fill it with your data.
Declaration to be printed


The classroom for the exam has changed, the first exam will be in Sala Conferenze Emilio Gatti, ground floor building 20, December 20th at 13.15.

How to pass the exam

Exam Rules 2017/18 (updated: September 19th, 2017)

How to register

After the publication of the result of the written test and the evaluation of the project, please send an email to me with the following information:
Subject: [#matricola] surname, name, course, date of the exam (where your name is in the list!)
Body: evaluation of the written part (better with indication of the date of the written test), evaluation (if available) of the project, name of your mentor for the project
[1234] rossi mario, AOS, registration, Sept 4, 2015
24/30 (4 luglio 2015), A+, Massari

After that I will complete the registration of your score using the web site. You will receive an email from the systems in a few days. Note that this action is impossible to be carried out before the date of the exam.

Project assignment

LaTeX Report Template

DEIB - Building 21
Floor: 1 - HEAPLab

Name Email Phone Office
Giuseppe Massari +39 02 2399 9613 Heap Lab - Room 4
Federico Reghenzani +39 02 2399 9613 Heap Lab - Room 4
Michele Zanella +39 02 2399 9613 Heap Lab - Room 4
Federico Terraneo +39 02 2399 9683 Heap Lab - Room 6

Do not hesitate to contact my teaching assistants in the case you require further clarifications.


From the book “Carlo Brandolese, William Fornaciari, Sistemi Embedded - Sviluppo hardware e software per sistemi dedicati, Pearson Education Italia, settembre 2007 (Italiano)”, the following chapters:
Ch1: Introduzione
Ch2, Ch3: NO
Ch4: Pianificazione e gestione
Ch5, Ch6, Ch7: NO
Ch8: Software di base
Ch9, Ch10, Ch11, Ch12, Ch13, App. A and B: NO

Agenda and slides 2017/18

wireless power charger
Embedded Systems - general intro
Scheduling CPU

Last update: Oct 11, 2017 Calendar October 11

Date Type Title Material version Lecturer
Sep 19, 2017 TH Courses Introduction William Fornaciari
Sep 21, 2017 TH Introduction to Embedded Systems William Fornaciari
Sep 22, 2017 TH Sensors and wireless charging William Fornaciari
Sep 26, 2017 TH Introduction to Real-Time OS William Fornaciari
Sep 28, 2017 EX Linux Application Development Toolkit Sep, 28th Giuseppe Massari
Oct 3rd, 2017 EX Version Control with GIT Giuseppe Massari
Oct 5th, 2017 EX Moving to C++ Giuseppe Massari
Oct 6th, 2017 TH Scheduling CPU for General-purpose Systems William Fornaciari
Oct 12th/13th, 2017 EX Multithreading Programming in C++ / Code examples Giuseppe Massari, Federico Terraneo
Oct 19th, 2017 EX Multiprocess Programming in C Giuseppe Massari
Oct 20th, 2017 TH Scheduling CPU for Real-time Systems William Fornaciari
Oct 27th, 2017 TH Project Proposals - 1 Giuseppe Massari
Nov 2nd, 2017 EX Embedded from scratch Boot / Code Nov, 3rd Federico Terraneo
Nov 3rd, 2017 EX Embedded from scratch Peripherals and Interrupts - p1 Federico Terraneo
Nov 9th, 2017 EX Embedded from scratch Peripherals and Interrupts - p2 Federico Terraneo

TH: Theory, EX: Exercise, SE: Seminar

Further Readings


Cheatsheet to be printed for the exam Updated 10/10/2017

Date Solutions Results Update
December 20th Text and solution Results Jan 3rd, 2018
January 22th Text and solution Results Feb 1st, 2018
February 13th Text and solution Results Feb 15th, 2018
July 19th Text and solution Results July 20th, 2018
September 05th Results Sep 07th, 2018

Past exams and materials

Please check the dedicated page.