Process Management. Deadlock. Process Synchronization. Management Management. Starvation

Similar documents
Last Class: Monitors. Real-world Examples

6. Concurrency: Deadlock

What is Deadlock? Two or more entities need a resource to make progress, but will never get that resource. Examples from everyday life:

OPERATING SYSTEMS. Prescribed Text Book. Operating System Principles, Seventh Edition. Abraham Silberschatz, Peter Baer Galvin and Greg Gagne

The Deadlock Problem (1)

Concurrency: Deadlock and Starvation. Chapter 6

OPERATING SYSTEMS. Deadlocks

Chapter seven: Deadlock and Postponement

The Slide does not contain all the information and cannot be treated as a study material for Operating System. Please refer the text book for exams.

Chapter 7: Deadlocks. Operating System Concepts 8th Edition, modified by Stewart Weiss

Deadlock. Rab Nawaz Jadoon DCS. Assistant Professor COMSATS Lahore Pakistan. Department of Computer Science

Operating Systems ECE344. Ding Yuan

Bridge Crossing Example

UNIT 4 DEADLOCKS 4.0 INTRODUCTION

Chapter 7: Deadlocks. Operating System Concepts 8 th Edition,

Deadlocks. Operating System Concepts - 7 th Edition, Feb 14, 2005

Deadlock and Starvation

Deadlocks. Copyright : University of Illinois CS 241 Staff 1

System Model. Types of resources Reusable Resources Consumable Resources

Introduction to Deadlocks

Principles of Operating Systems

COMPUTER SCIENCE 4500 OPERATING SYSTEMS

Last Class: Synchronization Problems!

Final Exam Review. CPSC 457, Spring 2016 June 29-30, M. Reza Zakerinasab Department of Computer Science, University of Calgary

Computer Science 4500 Operating Systems. In This Module. Deadlock Definition. Module 7 Deadlocks

Computer Science 4500 Operating Systems

COP 4610: Introduction to Operating Systems (Spring 2016) Chapter 7 Deadlocks. Zhi Wang Florida State University

Deadlock 1 Chapter 6

CSE120 Principles of Operating Systems. Prof Yuanyuan (YY) Zhou Deadlock

Deadlock 1 Chapter 6

Process P holds resource R. Process P is waiting for resource R. P Process P holds T and requests R. R Process Q holds R and requests T

CSCC 69H3 2/1/13. Today: Deadlock. Remember example from last week? Example of Deadlock. Example: dining philosophers: Not just an OS Problem!

Chapter 3: Deadlocks

Chapter 6. Deadlocks

Deadlocks Prof. James L. Frankel Harvard University. Version of 7:05 PM 7-Mar-2017 Copyright 2017, 2015 James L. Frankel. All rights reserved.

ICS Principles of Operating Systems. Lectures Set 5- Deadlocks Prof. Nalini Venkatasubramanian

Deadlocks. Prepared By: Kaushik Vaghani

Introduction to OS. Deadlock. MOS Ch. 6. Mahmoud El-Gayyar. Mahmoud El-Gayyar / Introduction to OS 1

Chapter 6 Concurrency: Deadlock and Starvation

Last Class: Synchronization Problems. Need to hold multiple resources to perform task. CS377: Operating Systems. Real-world Examples

COS 318: Operating Systems. Deadlocks. Jaswinder Pal Singh Computer Science Department Princeton University

The Deadlock Problem. A set of blocked processes each holding a resource and waiting to acquire a resource held by another process in the set.

Operating systems. Lecture 5. Deadlock: System Model. Deadlock: System Model. Process synchronization Deadlocks. Deadlock: System Model

Deadlocks: Part I Prevention and Avoidance Yi Shi Fall 2017 Xi an Jiaotong University

!! What is a deadlock? !! What causes a deadlock? !! How do you deal with (potential) deadlocks? Maria Hybinette, UGA

Resources. Lecture 4. Deadlocks. Resources (2) Resources (1) Four Conditions for Deadlock. Introduction to Deadlocks

Deadlocks. Dr. Yingwu Zhu

Operating Systems. Operating Systems Sina Meraji U of T

The deadlock problem

Deadlock Prevention. CSCI 3753 Operating Systems Spring 2005 Prof. Rick Han

Principles of Operating Systems

Deadlocks. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

Deadlock. Concepts to discuss. A System Model. Deadlock Characterization. Deadlock: Dining-Philosophers Example. Deadlock: Bridge Crossing Example

Chapter 7: Deadlocks

Deadlock. Concurrency: Deadlock and Starvation. Reusable Resources

CS307 Operating Systems Deadlocks

VI. Deadlocks. What is a Deadlock? Intended Schedule. Deadlock Problem (1) ???

VI. Deadlocks Operating Systems Prof. Dr. Marc H. Scholl DBIS U KN Summer Term

Deadlocks. Bridge Crossing Example. The Problem of Deadlock. Deadlock Characterization. Resource-Allocation Graph. System Model

Deadlocks. System Model

Shared and Preemptable Resources. A few resources may be sharable. Anyone can write the system log.

Chapter 7: Deadlocks. Operating System Concepts 8 th Edition,! Silberschatz, Galvin and Gagne 2009!

Chapter 3. Deadlocks

Concurrency: Principles of Deadlock. Processes and resources. Concurrency and deadlocks. Operating Systems Fall Processes need resources to run

Operating System: Chap7 Deadlocks. National Tsing-Hua University 2016, Fall Semester

CMSC 412. Announcements

The Deadlock Problem

MODERN OPERATING SYSTEMS. Third Edition ANDREW S. TANENBAUM. Chapter 6 Deadlocks

CS420: Operating Systems. Deadlocks & Deadlock Prevention

Learning Outcomes. Chapter 3. Deadlocks. Resources. Resources. Resources

Operating Systems: Quiz2 December 15, Class: No. Name:

Resource Management and Deadlocks 1

Chapter 8: Deadlocks

Chapter 8: Deadlocks. The Deadlock Problem. System Model. Bridge Crossing Example. Resource-Allocation Graph. Deadlock Characterization

Deadlocks. Today. Next Time. Resources & deadlocks Dealing with deadlocks Other issues. I/O and file systems

Chapter 7: Deadlocks. Operating System Concepts 8 th Edition,

Chapter 7: Deadlocks. Operating System Concepts 9 th Edition

! What is a deadlock? ! What causes a deadlock? ! How do you deal with (potential) deadlocks? Maria Hybinette, UGA

Resources. Chapter 3. Deadlocks. Resources. Resources

CISC 7310X. C10: Deadlocks. Hui Chen Department of Computer & Information Science CUNY Brooklyn College. 4/12/2018 CUNY Brooklyn College

ECE519 Advanced Operating Systems

Chapter 7: Deadlocks

Chapter 8: Deadlocks. The Deadlock Problem

The Deadlock Problem. Chapter 8: Deadlocks. Bridge Crossing Example. System Model. Deadlock Characterization. Resource-Allocation Graph

Module 7: Deadlocks. The Deadlock Problem. Bridge Crossing Example. System Model

Deadlock Risk Management

Deadlock. Readings and References. Simple Traffic Gridlock Example. Deadlock. Reading. Other References. CSE 410, Spring 2006 Computer Systems

UNIT-3 DEADLOCKS DEADLOCKS

More on Synchronization and Deadlock

Deadlocks. Today. Next Time. ! Resources & deadlocks! Dealing with deadlocks! Other issues. ! Memory management

Readings and References. Deadlock. Deadlock. Simple Traffic Gridlock Example. Reading. CSE Computer Systems November 30, 2001.

CSC Operating Systems Spring Lecture - XII Midterm Review. Tevfik Ko!ar. Louisiana State University. March 4 th, 2008.

The Deadlock Problem

Chapter 8: Deadlocks. Operating System Concepts with Java

Deadlock and Starvation

Operating Systems. Lecture 07: Resource allocation and Deadlock Management. Elvis C. Foster

Chapter 7: Deadlocks

Chapter 7 : 7: Deadlocks Silberschatz, Galvin and Gagne 2009 Operating System Concepts 8th Edition, Chapter 7: Deadlocks

CS Operating Systems

CS Operating Systems

Transcription:

Process Management Deadlock 7 Cases of Deadlock Conditions for Deadlock Modeling Deadlocks Strategies for Handling Deadlocks Avoidance Detection Recovery Starvation Process Synchronization Deadlock Starvation Management Management 1

A Lack of Process Synchronization Causes Deadlock or Starvation Deadlock ( deadly embrace ) -- a system-wide tangle of resource requests that begins when 2+ jobs are put on hold. Each job is waiting for a vital resource to become available. Needed resources are held by other jobs also waiting to run but can t because they re waiting for other unavailable resources. The jobs come to a standstill. The deadlock is complete if remainder of system comes to a standstill as well. Resolved via external intervention. 2

Deadlock Deadlock is more serious than indefinite postponement or starvation because it affects more than one job. Because resources are being tied up, the entire system (not just a few programs) is affected. Requires outside intervention (e.g., operators or users terminate a job). 3

Seven Cases of Deadlocks 1. Deadlocks on file requests 2. Deadlocks in databases 3. Deadlocks in dedicated device allocation 4. Deadlocks in multiple device allocation 5. Deadlocks in spooling 6. Deadlocks in disk sharing 7. Deadlocks in a network 4

Case 1 : Deadlocks on File Requests If jobs can request and hold files for duration of their execution, deadlock can occur. Any other programs that require F1 or F2 are put on hold as long as this situation continues. Deadlock remains until a programs is withdrawn or forcibly removed and its file is released. 5

Case 2 : Deadlocks in Databases 1. P1 accesses R1 and locks it. 2. P2 accesses R2 and locks it. 3. P1 requests R2, which is locked by P2. 4. P2 requests R1, which is locked by P1. Deadlock can occur if 2 processes access & lock records in database. 3 different levels of locking : entire database for duration of request a subsection of the database individual record until process is completed. If don t use locks, can lead to a race condition. 6

Case 3: Deadlocks in Dedicated Device Allocation 1. P1 requests tape drive 1 and gets it. 2. P2 requests tape drive 2 and gets it. 3. P1 requests tape drive 2 but is blocked. Deadlock can occur when there is a limited number of dedicated devices. E.g., printers, plotters or tape drives. 4. P2 requests tape drive 1 but is blocked. 7

Case 4 : Deadlocks in Multiple Device Allocation Deadlocks can happen when several processes request, and hold on to, dedicated devices while other processes act in a similar manner. 8

Case 5 : Deadlocks in Spooling Most systems have transformed dedicated devices such as a printer into a sharable device by installing a high-speed device, a disk, between it and the CPU. Disk accepts output from several users and acts as a temporary storage area for all output until printer is ready to accept it (spooling). If printer needs all of a job's output before it will begin printing, but spooling system fills available disk space with only partially completed output, then a deadlock can occur. 9

Case 6 : Deadlocks in Disk Sharing P1 Read records at cylinder 20 P2 Write to file at cylinder 310 I/O Channel Disk control unit Disks are designed to be shared, so it s not uncommon for 2 processes access different areas of same disk. Without controls to regulate use of disk drive, competing processes could send conflicting commands and deadlock the system. 10

Case 7: Deadlocks in a Network A network that s congested (or filled large % of its I/O buffer space) can become deadlocked if it doesn t have protocols to control flow of messages through network. 11

Four Conditions for Deadlock Deadlock preceded by simultaneous occurrence of four conditions that operating system could have recognized: Mutual exclusion Resource holding No preemption Circular wait 12

Mutual exclusion -- the act of allowing only one process to have access to a dedicated resource. Resource holding -- the act of holding a resource and not releasing it; waiting for the other job to retreat. No preemption -- the lack of temporary reallocation of resources; once a job gets a resource it can hold on to it for as long as it needs. Circular wait -- each process involved in impasse is waiting for another to voluntarily release the resource so that at least one will be able to continue. 13

Modeling Deadlocks Using Directed Graphs (Holt, 1972) Processes represented by circles. Resources represented by squares. Solid line from a resource to a process means that process is holding that resource. Solid line from a process to a resource means that process is waiting for that resource. Direction of arrow indicates flow. If there s a cycle in the graph then there s a deadlock involving the processes and the resources in the cycle. 14

Directed Graph Examples R1 P1 R1 Figure 5.7 (a) P2 P1 R1 Figure 5.7 (b) P1 R2 Figure 5.7 (c) 15

Figure 5.8 R1 R1 R2 R2 R3 R3 P1 P1 P2 P2 P3 P3 Figure 5.9 R1 R2 R3 R1 R2 R3 P1 P2 P3 P1 P2 P3 16

P1 Ο Ο Ο P3 Figure 5.11 (a) P2 P1 Ο Ο Ο P3 Figure 5.11 (b) P2 17

Strategies for Handling Deadlocks Prevent one of the four conditions from occurring. Avoid the deadlock if it becomes probable. Detect the deadlock when it occurs and recover from it gracefully. 18

Prevention of Deadlock To prevent a deadlock OS must eliminate 1 out of 4 necessary conditions. Same condition can t be eliminated from every resource. Mutual exclusion is necessary in any computer system because some resources (memory, CPU, dedicated devices) must be exclusively allocated to 1 user at a time. Might be able to use spooling for some devices. May trade 1 type of deadlock (Case 3) for another (Case 5). 19

Prevention of Resource Holding or No Preemption Resource holding can be avoided by forcing each job to request, at creation time, every resource it will need to run to completion. Significantly decreases degree of multiprogramming. Peripheral devices would be idle because allocated to a job even though they wouldn't be used all the time. No preemption could be bypassed by allowing OS to deallocate resources from jobs. OK if state of job can be easily saved and restored. Bad if preempt dedicated I/O device or files during modification. 20

Prevention of Circular Wait Circular wait can be bypassed if OS prevents formation of a circle. Havender s solution (1968) is based on a numbering system for resources such as: printer = 1, disk = 2, tape= 3. Forces each job to request its resources in ascending order. Any number one devices required by job requested first; any number two devices requested next Require that jobs anticipate order in which they will request resources. A best order is difficult to determine. 21

Avoidance Even if OS can t remove 1 conditions for deadlock, it can avoid one if system knows ahead of time sequence of requests associated with each of the active processes. Dijkstra s Bankers Algorithm (1965) used to regulate resources allocation to avoid deadlock. Safe state -- if there exists a safe sequence of all processes where they can all get the resources needed. Unsafe state -- doesn t necessarily lead to deadlock, but it does indicate that system is an excellent candidate for one. 22

Banker s Algorithm Based on a bank with a fixed amount of capital that operates on the following principles: No customer will be granted a loan exceeding bank s total capital. All customers will be given a maximum credit limit when opening an account. No customer will be allowed to borrow over the limit. The sum of all loans won t exceed the bank s total capital. OS (bank) must be sure never to satisfy a request that moves it from a safe state to an unsafe one. Job with smallest number of remaining resources < = number of available resources 23

A Bank s Safe and Unsafe States Safe Customer Loan amount Maximum credit Remaining credit C1 0 4,000 4,000 C2 2,000 5,000 3,000 C3 4,000 8,000 4,000 Total loaned: $6,000 Total capital fund: $10,000 Unsafe Customer Loan amount Maximum credit Remaining credit C1 2,000 4,000 2,000 C2 3,000 5,000 2,000 C3 4,000 8,000 4,000 Total loaned: $9,000 Total capital fund: $10,000 24

Problems with Banker s Algorithm 1. As they enter system, jobs must state in advance the maximum number of resources needed. 2. Number of total resources for each class must remain constant. 3. Number of jobs must remain fixed. 4. Overhead cost incurred by running the avoidance algorithm can be quite high. 5. Resources aren t well utilized because the algorithm assumes the worst case. 6. Scheduling suffers as a result of the poor utilization and jobs are kept waiting for resource allocation. 25

Detection Use directed graphs to show circular wait which indicates a deadlock. Algorithm used to detect circularity can be executed whenever it is appropriate. 26

Reducing Directed Resource Graphs 1. Find a process that is currently using a resource and not waiting for one. Remove this process from graph and return resource to available list. 2. Find a process that s waiting only for resource classes that aren t fully allocated. Process isn t contributing to deadlock since eventually gets resource it s waiting for, finish its work, and return resource to available list. 3. Go back to Step 1 and continue the loop until all lines connecting resources to processes have been removed. 27

R1 P2 P3 R1 P2 P3 P1 R2 R3 P1 R2 R3 Figure 5.12 (a) Figure 5.12 (b) R1 P2 P3 R1 P2 P3 P1 R2 R3 P1 R2 R3 Figure 5.12 (c) Figure 5.12 (d) 28

Recovery Once a deadlock has been detected it must be untangled and system returned to normal as quickly as possible. There are several recovery algorithms, all requiring at least one victim, an expendable job, which, when removed from deadlock, frees system. 1. Terminate every job that s active in system and restart them from beginning. 2. Terminate only the jobs involved in deadlock and ask their users to resubmit them. 29

Recovery Algorithms - 2 3. Terminate jobs involved in deadlock one at a time, checking to see if deadlock is eliminated after each removal, until it has been resolved. 4. Have job keep record (snapshot) of its progress so it can be interrupted and then continued without starting again from the beginning of its execution. 5. Select a non-deadlocked job, preempt resources it s holding, and allocate them to a deadlocked process so it can resume execution, thus breaking the deadlock 6. Stop new jobs from entering system, which allows nondeadlocked jobs to run to completion so they ll release their resources (no victim). 30

Select Victim with Least-Negative Effect Priority of job under consideration high-priority jobs are usually untouched. CPU time used by job jobs close to completion are usually left alone. Number of other jobs that would be affected if this job were selected as the victim. Programs working with databases deserve special treatment. 31

Starvation Starvation -- result of conservative allocation of resources where a single job is prevented from execution because it s kept waiting for resources that never become available. The dining philosophers Dijkstra (1968). Avoid starvation via algorithm designed to detect starving jobs which tracks how long each job has been waiting for resources (aging). 32

Terminology avoidance circular wait deadlock deadly embrace detection directed graphs locking mutual exclusion no preemption prevention process synchronization race resource holding safe state spooling starvation unsafe state victim 33