Advanced Operating Systems (2007/2008)

Course partially running

Course code
Graziano Pravadelli
Teaching is organised as follows:
Unit Credits Academic sector Period Academic staff
Laboratorio 1 ING-INF/05-INFORMATION PROCESSING SYSTEMS 2° Q Graziano Pravadelli

Learning outcomes

Module: Teoria
The course covers advanced concepts related to operating systems, particularly focusing on distributed and real-time operating systems. Theoretical aspects will be further investigated with practical applications in laboratory.
The course consists of 32 hours of front lectures and 12 hours of practical applications.
Theaching material will be provided by the theacher during the course.

Module: Laboratorio
The course consists of 12 hours of laboratory concerning advanved programming on cluster systems and embedded operating systems.


Module: Teoria
* Introduction:
- Not conventional operating systems
° distributed operating systems
° multi-processor operating systems
° real-time operating systems
° embedded operating systems
- Organization of not conventional operating systems
° microkernel
° exokernel
° cluster
- Examples

* Distributed operating systems:
- Problems
- HW and SW architectures
- Project metrics (transparence, flexibility, reliability, scalability)
- Communication on distributed systems
° protocols
° client-server paradigm

* Synchronization in distributed opearting systems:
- Clock synchronization
- Mutual exclusion and atomic transitions
- Deadlock

* Process Management in distributed operating systems:
- Process allocation
- Process migration
- Process scheduling

* Distributed file systems:
- Problems and implementation
- Naming and caching
- Case study: NFS

* Distributed shared memory:
- Conceptual model
- Implementation
- Consistency models

* Real-time operating systems:
- Problems and limitations
° determinism
° reactivity
° reliability
- Examples

* Scheduling in real-time operating systems:
- Clock, deadline, and timeout
- Priority scheduling
- Deadline scheduling
- Aperiodic and periodic scheduling

Module: Laboratorio
* Laboratory:
- Distributed programming for cluster
- Implementation of some functionalities in an open-source embedded operating system

Assessment methods and criteria

Module: Teoria
The final examination consists of a written (oral) test and a laboratory project.
The written test contains theoretical questions and exercises.
The test is passed with a grade of at least 18/30. The maximum grade is 30/30. The oral is optional.
The laboratory project (to be done in a group of 2/3 students) may consist of:
- implementing/modifying one or more functionalities of a real-time operating system
- implementing an application for a cluster
- 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 test.

Module: Laboratorio
The final examination consists of a laboratory project.
The maximum grade for the project is 4/30 to be added to the grade of the written test related to the theory module.

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
W. Stallings Operating Systems - Internal and Design Principles (Edizione 3) Prentice Hall 1998 0138874077