Process Synchronization III - PowerPoint PPT Presentation

1 / 17
About This Presentation
Title:

Process Synchronization III

Description:

V. The Sleeping Barber Problem. N customer chairs (waiting chairs) ... Otherwise, barber is busy wait in a chair. CS 423UG- Operating Systems, Indranil Gupta ... – PowerPoint PPT presentation

Number of Views:324
Avg rating:3.0/5.0
Slides: 18
Provided by: yuanyu1
Category:

less

Transcript and Presenter's Notes

Title: Process Synchronization III


1
Process Synchronization III
CS423UG Operating Systems
  • Indranil Gupta
  • Lecture 10
  • Sep 16, 2005

2
Todays Agenda
  • Classical synchronization problems
  • Producer-Consumer problem
  • Bounded Buffer Problem
  • Reader Writer Problem
  • Dining Philosophers Problem
  • Sleeping Barber Problem
  • IPC

3
III. Reader-Writer Problem
  • A reader read data
  • A writer write data
  • Rules
  • Multiple readers may read the data simultaneously
  • Only one writer can write the data at any time
  • A reader and a writer cannot access data
    simultaneously
  • Locking table whether any two can be in the
    critical section simultaneously

4
Reader-Writer Solution
  • Does it work? Why?
  • Ask Systematic questions, and look at What if ?
    scenarios
  • Play the devils advocate!
  • Semaphore mutex, wrt // shared and initialized
    to 1
  • int readcount // shared and initialized
    to 0
  • // Writer
    // Reader
  • Down(mutex)
  • readcountreadcoun
    t1
  • Down(wrt) if
    readcount 1 then Down(wrt)
  • ......
    Up(mutex)
  • writing performed ....
  • ..... reading
    performed

  • Down(mutex)
  • Up(wrt)
    readcountreadcount-1
  • if
    readcount 0 then Up(wrt)

5
IV. Dining Philosophers an intellectual game
0
  • N philosophers and N forks
  • Philosophers eat/think
  • Eating needs 2 forks
  • Pick one fork at a time

1
0
4
1
2
4
3
3
2
N5
6
Does this solve the Dining Philosophers Problem?
  • A non-solution to the dining philosophers problem
  • Deadlock everyone picks up their left fork
    first, then waits gt Starvation!

7
Dining Philosophers Solution
(sn inited to 0s)
8
Dining Philosophers Solution
Can prove that this solution is deadlock-free and
starvation-free
9
V. The Sleeping Barber Problem
  • N customer chairs (waiting chairs)
  • One barber who can cut one customers hair at any
    time
  • No waiting customer gt barber sleeps
  • Customer enters gt
  • If all waiting chairs full, customer leaves
  • Otherwise, if barber asleep, wake up barber and
    make him work
  • Otherwise, barber is busy wait in a chair

10
The Sleeping Barber Solution (1)
11
The Sleeping Barber Solution (2)
12
The Sleeping Barber Solution (3)
Solution to sleeping barber problem.
13
Epilogue IPC (Interprocess Communication)
  • Real life analogy email!
  • Can two processes on a machine send email to
    each other?
  • IPC An indirect way of coordination, where the
    OS (and/or network) helps processes!
  • An IPC primitive Message Passing
  • Send (destination, message)
  • Receive (source, message)
  • Message size Fixed or Variable size.

14
Message Passing
Example Unix pipes
15
IPCIndirect Communication Implicit Coordination
provided through library/system calls
  • send(A,message) / send a message to mailbox A
    /
  • receive(A,message) / receive a message from
    mailbox A /
  • Mailbox is an abstract object into which a
    message can be placed in, or removed from.

Example Unix message queues
16
Advantage of Indirect Communication
  • Allows greater variety of schemes
  • two processes per link
  • 1 link per pair of processes
  • Uni- or bi-directional
  • allow 1 process to receive a message from a link
  • allow 1 process to receive all messages from a
    link
  • What if a process sends when queue is full?
    Receive when queue is empty?
  • Pipe and message queue implementations themselves
    use sempahores/mutexes within them!

Unix msgget() and msgsnd() for message queues
17
Reminders
  • Reading for this weeks lectures were Sections
    2.3-2.4
  • Reading for next week Chapter 3 (full)
  • MP1 due next Monday
Write a Comment
User Comments (0)
About PowerShow.com