Operating Systems600.418Process 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 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.)
Difficulties with Semaphores
Monitors
Condition Variables in Monitors
Monitor Architecture
Monitor for the Dining Philosophers
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