OPERATING SYSTEMS 1 龚玲 lgong@sjtu.edu.cn
OPERATING SYSTEMS 龚玲 lgong@sjtu.edu.cn 1
REVIEW o Semaphores o http://wenku.baidu.com/course/study/77f1dcccda38376ba flfae94#665ea0c7aa00b52acfc7ca94
REVIEW Semaphores http://wenku.baidu.com/course/study/77f1dcccda38376ba f1fae94#665ea0c7aa00b52acfc7ca94
Goals for today o Monitors o Deadlock
Goals for today Monitors Deadlock
Monitors o A high-level abstraction that provides a convenient and effective mechanism for process synchronization o Only one process may be active within the monitor at a time
Monitors A high-level abstraction that provides a convenient and effective mechanism for process synchronization Only one process may be active within the monitor at a time
Syntax of a monitor monitor monitor name /shared variable declarations initialization code (...) } public P1(··.){ } public P2(···){ } public Pn(···){
Syntax of a Monitor
Schematic view of a Monitor □ entry queue shared data operations initialization code
Schematic view of a Monitor
Condition Variables o Condition x,y; o Two operations on a condition variable: x.wait -a process that invokes the operation is suspended. x.signal (-resumes one of processes (if any) that invoked x.wait
Condition Variables Condition x, y; Two operations on a condition variable: x.wait () – a process that invokes the operation is suspended. x.signal () – resumes one of processes (if any) that invoked x.wait ()
Monitor with Condition Variables entry queue shared data queues associated with X☐□☐. x,y conditions y+G图 operations initialization code
Monitor with Condition Variables
Chapter 7:Deadlocks o The Deadlock Problem oSystem Model o Deadlock Characterization o Methods for Handling Deadlocks o Deadlock Prevention o Deadlock Avoidance o Deadlock Detection o Recovery from Deadlock
Chapter 7: Deadlocks The Deadlock Problem System Model Deadlock Characterization Methods for Handling Deadlocks Deadlock Prevention Deadlock Avoidance Deadlock Detection Recovery from Deadlock
Chapter Objectives o To develop a description of deadlocks,which prevent sets of concurrent processes from completing their tasks o To present a number of different methods for preventing or avoiding deadlocks in a computer system
Chapter Objectives To develop a description of deadlocks, which prevent sets of concurrent processes from completing their tasks To present a number of different methods for preventing or avoiding deadlocks in a computer system