Distributed operating systems

Code 306AA
Credits 6

Learning outcomes

Objectives
The course provides concepts and techniques needed to extend the definition of Operating System, known for single machines from previous courses, up to include inherently parallel and distributed computing platforms.
In this course we compare different middleware and DOS technologies, we analyze the system abstractions they provide, the issues they imply, the implementation choices made and the functionalities obtained. A fundamental component of the course is the presentation from a technological viewpoint of a Distributed Operating System (DOS).

Syllabus
Basic notions
Models of Distributed Operating Systems, basic techniques
Middleware systems, Quality of Service
Single-sistem-image DOSes (SSI)
Cooperating kernel instances, implementation, applicability;
Geographical and wide-area DOSes
Virtual Organizations; security, communication and cooperation mechanisms;
Large-scale distributed file systems;
Execution mechanisms
Resource Heterogeneity in DOSes
Classes of resources and operating system constraints
Consequences on system abstractions and implementation
Complements and links
DOSes and hierarchical multilevel computing architectures
Virtualization and DOSes : system-level interpretation, containers, virtualization, paravirtualization
Future Internet and DOSes

Course structure
6 CFU, 4 of them concerning SSI and wide-area DOSes. The teaching needs that a laboratory is available to the students for experimenting. The final exam is a discussion about course material and a student project, related to one of the DOSes that are presented during the course.