Advanced Operating Systems (2017/2018)

Course code
Name of lecturer
Graziano Pravadelli
Graziano Pravadelli
Number of ECTS credits allocated
Academic sector
Language of instruction
II sem. dal Mar 1, 2018 al Jun 15, 2018.

Lesson timetable

Go to lesson schedule

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
G. Coulouris, J. Dollimore, T. Kindberg, G. Blair Distributed Systems. Concepts and Design. (Edizione 5) Pearson 2012 0-273-76059-9
A.S. Tanenbaum, M. Van Steen Distributed systems. Principles and paradigms. (Edizione 2) Pearson 2007 0-13-613553-6
Jane W.S. Liu Real-Time Systems (Edizione 1) Prentice Hall 2000 0-13-099651-3

Assessment methods and criteria

To pass the exam, the student must show:
- they have understood the principles related to how distributed and real-time operating systems work
- they are able to describe the concepts in a clear and exhaustive way without digressions
- they are able to apply the acquired knowledge to solve application scenarios described by means of exercises, questions and projects.

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.