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