Advanced Operating Systems (2014/2015)

Course code
Name of lecturer
Graziano Pravadelli
Graziano Pravadelli
Number of ECTS credits allocated
Academic sector
Language of instruction
I sem. dal Oct 1, 2014 al Jan 30, 2015.

Lesson timetable

Learning outcomes

The course presents advanced concepts related to special classes of operating systems, with particular regards to distributed, real-time and embedded operating systems. The main objective consists of highlighting differences between traditional and advanced operating systems in the context of processes, memory and file system management.


* Introduction: HW/SW classification, architecture of non conventional operating systems, goals and problems.
* Introduction to distributed operating systems: goals and problems.
* Communication in distributed systems: client-server model, remote procedure call, group communication.
* Synchronization in distributed systems: synchronization of logical and physical clocks, identification of the global state, distributed mutual exclusion, atomic transaction, deadlock management, election algorithms.
* Process management: process allocation and migration, scheduling algorithms.
* Distributed shared memory: definition and implementation, memory consistency.
* Distributed File system: access model, sharing semantics, implementation, data migration and replication, consistency mechanisms.
* Real-time operating systems: definition, objective and problems.
* Scheduling in real time operating systems: scheduling of periodic, aperiodic and mixed tasks.

* Embedded operating system: Introduction to the eCos operating system.
* Communication in embedded systems: Introduction to the ZigBee communication protocol.
* Mobile embedded systems: Introduction to development environments.
* Smartphone: Introduction to development environment (iPhone, Android, Windows Phone)

Reference books
Author Title Publisher Year ISBN Note
A.Tanenbaum Disitributed Operating Systems Prentice Hall 1994 0132199084
Giorgio Buttazzo "HARD REAL-TIME COMPUTING SYSTEMS: Predictable Scheduling Algorithms and Applications", Kluwer Academic Publishers 1997

Assessment methods and criteria

The final examination consists of a written test containing questions and exercises of both theory and laboratory.
The test is passed with a grade of at least 18/30. The maximum grade is 30/30.

A laboratory project (to be done in a group of 2/3 students) is optional and it may consist of:
- implementing/modifying one or more functionalities of a real-time operating system
- analyzying, evaluating and presenting new trends on distributed or real-time operating systems.
The maximum grande for the project is 4/30 to be added to the grade of the written examination.

Teaching aids