Distributed Systems

Operating System Support

Operating System Support

Motivation

System Layers

Kernel and Server functions

Network vs Distributed OS

Network vs Distributed OS

Core OS components

Core OS Functionality

Operating System Functions

Protection

Processes and Threads

Address spaces

Process creation

Shared Memory

Copy on write

Copy-on-write

New Processes in a Distributed System

Load Manager

Process Migration

Architectures for Multi-Threaded Servers

Server threading architectures

Worker pool

Worker Pool

Thread-per-request architecture

Thread-per-connection architecture

Thread-per-object

Threads

Threads within clients

Using Threads vs Processes

Context Switch

Threads in Java

Thread Scheduling

Implementation

User vs Kernel threads

Communication and Invocation

Communication primitives

Protocols and Openness

Invocation Performance

Invocation between Address spaces

Invocations between address spaces

Null Invocation

Remote Invocation Delay

RPC delay

Communication via Shared Memory

Choice of Protocol

Lightweight RPC

Concurrent and asynchronous operations

Concurrent Invocation

Interleaved Invocations

Asynchronous Invocation

Persistent asynchronous invocations

Operating System Architecture

Monolith vs Microkernel

Monolith vs Microkernel

Emulation and virtualisation

Virtualisation

Benefits

Xen Architecture

Xen

Privileges

Xen Privilege rings

Virtual Memory

virtualisation of memory management

Split Device Drivers

Split device driver


Edit this page.