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)
|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|
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.