Advanced Operating Systems (2010/2011)

Course code
Name of lecturer
Graziano Pravadelli
Graziano Pravadelli
Number of ECTS credits allocated
Academic sector
Language of instruction
I semestre dal Oct 4, 2010 al Jan 31, 2011.

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)

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