Operating Systems 600.418 Process Synchronization

9/27/00


Click here to start


Table of Contents

Operating Systems 600.418 Process Synchronization

Process Synchronization

The Problem with Concurrent Execution

Simple Example

Simple Example (cont.)

The Critical Section Problem

Requirements for Critical-Section Solutions

Types of Solutions

Software Solution 1 (incomplete)

Software Solution 1 (incomplete)

Software Solution 2 (incomplete)

Software Solution 2 (incomplete)

Software Solution 3 (Peterson’s)

The Bakery Algorithm

The Bakery Algorithm (cont).

Hardware Solution - Disable Interrupts

Hardware Solution - Test and Set

Operating System Solution - Semaphore

Semaphore Implementation

Semaphore Properties

Semaphore Types

From Binary Semaphores to Counting Semaphores

The Producer / Consumer Problem

Producer / Consumer : unbounded buffer

Producer / Consumer with Bounded Buffer

Producer / Consumer : Bounded Buffer

The Readers / Writers Problem

The Dining Philosophers

The Dining Philosophers (cont.)

The Dining Philosophers (cont.)

Difficulties with Semaphores

Monitors

Condition Variables in Monitors

Monitor Architecture

Monitor for the Dining Philosophers

Author: Yair Amir

Email: yairamir@cs.jhu.edu

Home Page: http://www.cs.jhu.edu/~yairamir/cs418/600-418.html

Other information:
Operating Systems (600.418), Lecture 3: Process Synchronization