Advanced Operating Systems (2008/2009)

Course partially running

Course code
4S00067
Credits
5
Coordinator
Graziano Pravadelli
Teaching is organised as follows:
Unit Credits Academic sector Period Academic staff
Teoria 4 ING-INF/05-INFORMATION PROCESSING SYSTEMS 2° Q Graziano Pravadelli
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.

Syllabus

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

Module: Laboratorio
-------
The final examination consists of a written (oral) test containing theoretical questions and exercises. This test is contextual to the theory examination.

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
- 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 theory's test.

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