240-323, part ii process synchronization

25
240-323 OS,2000 1 240-323, Part II Process Synchronization epartment of Computer Engineering, PSU Wannarat Suntiamorntu

Upload: nerice

Post on 05-Jan-2016

21 views

Category:

Documents


1 download

DESCRIPTION

Department of Computer Engineering, PSUWannarat Suntiamorntut. 240-323, Part II Process Synchronization. Department of Computer Engineering, PSUWannarat Suntiamorntut. Thread. Department of Computer Engineering, PSUWannarat Suntiamorntut. Consumer - Producer : Share Memory. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 240-323, Part II  Process Synchronization

240-323 OS,2000

1

240-323, Part II Process Synchronization

Department of Computer Engineering, PSU Wannarat Suntiamorntut

Page 2: 240-323, Part II  Process Synchronization

240-323 OS,2000

2

Department of Computer Engineering, PSU Wannarat Suntiamorntut

Thread

Page 3: 240-323, Part II  Process Synchronization

240-323 OS,2000

3

Department of Computer Engineering, PSU Wannarat Suntiamorntut

Consumer - Producer : Share Memory

Page 4: 240-323, Part II  Process Synchronization

240-323 OS,2000

4

Department of Computer Engineering, PSU Wannarat Suntiamorntut

Problem with Share memory solution

Page 5: 240-323, Part II  Process Synchronization

240-323 OS,2000

5

Department of Computer Engineering, PSU Wannarat Suntiamorntut

Definition Term

Page 6: 240-323, Part II  Process Synchronization

240-323 OS,2000

6

Department of Computer Engineering, PSU Wannarat Suntiamorntut

Critical-Section Problem

Page 7: 240-323, Part II  Process Synchronization

240-323 OS,2000

7

Department of Computer Engineering, PSU Wannarat Suntiamorntut

Critical-Section Problem (Algorithm 1)

Page 8: 240-323, Part II  Process Synchronization

240-323 OS,2000

8

Department of Computer Engineering, PSU Wannarat Suntiamorntut

Critical-Section Problem (Algorithm 2)

Page 9: 240-323, Part II  Process Synchronization

240-323 OS,2000

9

Department of Computer Engineering, PSU Wannarat Suntiamorntut

Critical-Section Problem (Algorithm 3)

Page 10: 240-323, Part II  Process Synchronization

240-323 OS,2000

10

Department of Computer Engineering, PSU Wannarat Suntiamorntut

Critical-Section (Many Processes)

Page 11: 240-323, Part II  Process Synchronization

240-323 OS,2000

11

Department of Computer Engineering, PSU Wannarat Suntiamorntut

Bakery Algorithm : Explained

Page 12: 240-323, Part II  Process Synchronization

240-323 OS,2000

12

Department of Computer Engineering, PSU Wannarat Suntiamorntut

Synchronize Hardware

Page 13: 240-323, Part II  Process Synchronization

240-323 OS,2000

13

Department of Computer Engineering, PSU Wannarat Suntiamorntut

Test and Set for Mutual Exclusion

Page 14: 240-323, Part II  Process Synchronization

240-323 OS,2000

14

Department of Computer Engineering, PSU Wannarat Suntiamorntut

Semaphores

Page 15: 240-323, Part II  Process Synchronization

240-323 OS,2000

15

Department of Computer Engineering, PSU Wannarat Suntiamorntut

Using Semaphores

Page 16: 240-323, Part II  Process Synchronization

240-323 OS,2000

16

Department of Computer Engineering, PSU Wannarat Suntiamorntut

Implement Semaphores

Page 17: 240-323, Part II  Process Synchronization

240-323 OS,2000

17

Department of Computer Engineering, PSU Wannarat Suntiamorntut

Implementing Semaphores

Page 18: 240-323, Part II  Process Synchronization

240-323 OS,2000

18

Department of Computer Engineering, PSU Wannarat Suntiamorntut

Dead locks and Starvation

P0 P1 wait(S); wait(Q); wait(Q); wait(S);

. .

. .

. . Signal(S); Signal(Q); Signal(Q); Signal(S) ;

Page 19: 240-323, Part II  Process Synchronization

240-323 OS,2000

19

Department of Computer Engineering, PSU Wannarat Suntiamorntut

Binary Semaphores

• a semaphore with an integer value that can range only between 0 and 1.• Can be simpler to implement

Wait : wait(S1);C := C -1;if C < 0 then

signal(S1);wait(S2);

endsignal(S1);

Signal : wait(S1);C := C +1;if C =< 0 then

signal(S2);else

wait(S1);

Page 20: 240-323, Part II  Process Synchronization

240-323 OS,2000

20

Department of Computer Engineering, PSU Wannarat Suntiamorntut

Readers/Writers Problem

Page 21: 240-323, Part II  Process Synchronization

240-323 OS,2000

21

Department of Computer Engineering, PSU Wannarat Suntiamorntut

Readers have Priority

Page 22: 240-323, Part II  Process Synchronization

240-323 OS,2000

22

Department of Computer Engineering, PSU Wannarat Suntiamorntut

Comment on Reader Priority

Page 23: 240-323, Part II  Process Synchronization

240-323 OS,2000

23

Department of Computer Engineering, PSU Wannarat Suntiamorntut

Writer have Priority

Page 24: 240-323, Part II  Process Synchronization

240-323 OS,2000

24

Department of Computer Engineering, PSU Wannarat Suntiamorntut

Note on Writer have Priority

Page 25: 240-323, Part II  Process Synchronization

240-323 OS,2000

25

Department of Computer Engineering, PSU Wannarat Suntiamorntut

Dining-Philosophers Problem