Operating Systems Lecture Notes

2014 October 7 • Managing Concurrency


Outline

Problem Background

Problem Illustrated

The Problem

A Solution

Problem Solved?

Ruinous Competition

Mutual Exclusion

Mutual Exclusion Example

Critical Sections

Critical Section Rules

The Independence Rule

Multiple Critical Sections

\(\vdots\)
enter csi
csi
exit csi
\(\vdots\)
enter csj
csj
exit csj
\(\vdots\)
  • Code may have several critical sections.
  • Each critical section provides mutual exclusion.
  • Do all critical sections also provide mutual exclusion?
    • Can csi and csj each have a thread?

Local vs Global Mutual Exclusion

Implementing Critical Sections

The Return of Turn-Taking

Peterson’s Algorithm.

Peterson’s Algorithm..

Observations

Disabling Interrupts

Observations

Stones and Bowls

Modern Stones and Bowls

test-and-set

Test-and-Set Critical Sections

Summary


This page last modified on 2014 October 9.

Creative
    Commons License