Advanced Operating Systems (2006/2007)

Course partially running

Course code
Name of lecturer
Graziano Pravadelli
Number of ECTS credits allocated
Academic sector
Language of instruction
2nd quadrimester dal Jan 8, 2007 al Mar 9, 2007.

Lesson timetable

2nd quadrimester
Day Time Type Place Note
Tuesday 2:30 PM - 5:30 PM lesson Lecture Hall C  
Friday 8:30 AM - 10:30 AM lesson Lecture Hall C  

Learning outcomes

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.


* 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

* Laboratory:
- Distributed programming for cluster
- Implementation of some functionalities in an open-source real-time operating system

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

Assessment methods and criteria

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.

Teaching aids