Outline. Deadlock. Examples, Conditions, Strategies. Deadlock Prevention. Deadlock Avoidance. Banker s algorithm
|
|
- Jasmin Craig
- 6 years ago
- Views:
Transcription
1 Deadlock
2 Outline Deadlock Examples, Conditions, Strategies Deadlock Prevention Deadlock Avoidance Banker s algorithm
3 Deadlocks Thread 1: lock(l1); lock(l2);! Thread 2: lock(l2); lock(l1);
4 Examples?
5 Examples? GFP_IO flag in Linux Kernel Memory allocator Causes get_free_page() calls shm_swap() to pageout. What if shm_swap() needs memory?
6 Examples? GFP_IO flag in Linux Kernel Memory allocator Causes get_free_page() calls shm_swap() to pageout. What if shm_swap() needs memory? Vector v1, v2; v1.addall(v2); addall() needs to be thread safe. what happens when v2.addall(v1) is called too?
7 Conditions
8 Conditions Mutual Exclusion threads claim exclusive control
9 Conditions Mutual Exclusion threads claim exclusive control Hold-and-Wait resources acquired progressively
10 Conditions Mutual Exclusion threads claim exclusive control Hold-and-Wait resources acquired progressively No preemption resources cannot be forcibly taken away
11 Conditions Mutual Exclusion threads claim exclusive control Hold-and-Wait resources acquired progressively No preemption resources cannot be forcibly taken away Circular Wait circular chain such that threads wait on resources held by another
12 Dining Philosophers
13 Dining Philosophers Philosopher has sole control over picked fork (mutual exclusion)
14 Dining Philosophers Philosopher has sole control over picked fork (mutual exclusion) Philosopher picks left fork then picks right (hold and wait)
15 Dining Philosophers Philosopher has sole control over picked fork (mutual exclusion) Philosopher picks left fork then picks right (hold and wait) Fork cannot be taken away from a philosopher (no preemption)
16 Dining Philosophers Philosopher has sole control over picked fork (mutual exclusion) Philosopher picks left fork then picks right (hold and wait) Fork cannot be taken away from a philosopher (no preemption) Once all philosophers pick a fork, each of them wait on the philosopher at his right to release the fork (circular wait)
17 Strategies
18 Ignore - Ostrich algorithm Strategies
19 Strategies Ignore - Ostrich algorithm Detection & Recovery
20 Strategies Ignore - Ostrich algorithm Detection & Recovery Build Dependency graph
21 Strategies Ignore - Ostrich algorithm Detection & Recovery Build Dependency graph
22 Strategies Ignore - Ostrich algorithm Detection & Recovery Build Dependency graph
23 Strategies Ignore - Ostrich algorithm Detection & Recovery Build Dependency graph Identify deadlocked processes
24 Strategies Ignore - Ostrich algorithm Detection & Recovery Build Dependency graph Identify deadlocked processes rollback, preempt, kill
25 Strategies Ignore - Ostrich algorithm Detection & Recovery Build Dependency graph Identify deadlocked processes rollback, preempt, kill Prevention
26 Strategies Ignore - Ostrich algorithm Detection & Recovery Build Dependency graph Identify deadlocked processes rollback, preempt, kill Prevention Negate any one of the deadlock conditions
27 Strategies Ignore - Ostrich algorithm Detection & Recovery Build Dependency graph Identify deadlocked processes rollback, preempt, kill Prevention Negate any one of the deadlock conditions Avoidance
28 Strategies Ignore - Ostrich algorithm Detection & Recovery Build Dependency graph Identify deadlocked processes rollback, preempt, kill Prevention Negate any one of the deadlock conditions Avoidance Carefully allocate resources
29 Prevention - Mutual Exclusion Never assign resource exclusively to a process Not really realistic. ex. printers can t print two documents simultaneously Use daemon to exclusively access printer? Deadlock free? Use hardware instructions, compare and swap
30 Prevention - Hold & Wait down(global_sem); down(get_left(i)); down(get_right(i)); up(global_sem);! -! down(global_sem); up(get_left(i)); up(get_right(i)); up(global_sem);
31 Prevention - Hold & Wait Ensure that all resources are acquired at once down(global_sem); down(get_left(i)); down(get_right(i)); up(global_sem);! -! down(global_sem); up(get_left(i)); up(get_right(i)); up(global_sem);
32 Prevention - Hold & Wait Ensure that all resources are acquired at once Is this feasible? down(global_sem); down(get_left(i)); down(get_right(i)); up(global_sem);! -! down(global_sem); up(get_left(i)); up(get_right(i)); up(global_sem);
33 Prevention - Hold & Wait Ensure that all resources are acquired at once Is this feasible? Know all resources in advance? down(global_sem); down(get_left(i)); down(get_right(i)); up(global_sem);! -! down(global_sem); up(get_left(i)); up(get_right(i)); up(global_sem);
34 Prevention - No Preemption
35 Prevention - No Preemption Take away resources owned by thread
36 Prevention - No Preemption Take away resources owned by thread Use trylock(), non blocking call in getting the lock.
37 Prevention - No Preemption Take away resources owned by thread Use trylock(), non blocking call in getting the lock. top: lock(get_left(i); if (trylock(get_right(i) == -1) { unlock(get_left(i)); goto top; }
38 Prevention - No Preemption Take away resources owned by thread Use trylock(), non blocking call in getting the lock. top: lock(get_left(i); if (trylock(get_right(i) == -1) { unlock(get_left(i)); goto top; } Lifelock?
39 Prevention - Circular Wait
40 Prevention - Circular Wait Enforce ordering in Locking
41 Prevention - Circular Wait Enforce ordering in Locking enumerate all locks in the system?
42 Prevention - Circular Wait Enforce ordering in Locking enumerate all locks in the system? 62 /* 63 * Lock ordering: 64 * 65 * ->i_mmap_rwsem (truncate_pagecache) 66 * ->private_lock ( free_pte-> set_page_dirty_buffers) 67 * ->swap_lock (exclusive_swap_page, others) 68 * ->mapping->tree_lock 69 * 70 * ->i_mutex 71 * ->i_mmap_rwsem (truncate->unmap_mapping_range) 72 * 73 * ->mmap_sen 74 * ->i_mmap_rwsem 75 * ->page_table_lock or pte_lock (various, mainly in memory.c) 76 * ->mapping->tree_lock (arch-dependent flush_dcache_mmap_lock) 77 * 78 * ->mmap_sem 79 * ->lock_page (access_process_vm) 80 * 81 * ->i_mutex (generic_perform_write) 82 * ->mmap_sem (fault_in_pages_readable->do_page_fault) 83 * 84 * bdi->wb.list_lock 85 * sb_lock (fs/fs-writeback.c) 86 * ->mapping->tree_lock ( sync_single_inode) 87 * 88 * ->i_mmap_rwsem 89 * ->anon_vma.lock (vma_adjust) 90 * 91 * ->anon_vma.lock 92 * ->page_table_lock or pte_lock (anon_vma_prepare and various) 93 * 94 * ->page_table_lock or pte_lock 95 * ->swap_lock (try_to_unmap_one)
43 Prevention - Circular Wait Enforce ordering in Locking enumerate all locks in the system? Is it feasible? 62 /* 63 * Lock ordering: 64 * 65 * ->i_mmap_rwsem (truncate_pagecache) 66 * ->private_lock ( free_pte-> set_page_dirty_buffers) 67 * ->swap_lock (exclusive_swap_page, others) 68 * ->mapping->tree_lock 69 * 70 * ->i_mutex 71 * ->i_mmap_rwsem (truncate->unmap_mapping_range) 72 * 73 * ->mmap_sen 74 * ->i_mmap_rwsem 75 * ->page_table_lock or pte_lock (various, mainly in memory.c) 76 * ->mapping->tree_lock (arch-dependent flush_dcache_mmap_lock) 77 * 78 * ->mmap_sem 79 * ->lock_page (access_process_vm) 80 * 81 * ->i_mutex (generic_perform_write) 82 * ->mmap_sem (fault_in_pages_readable->do_page_fault) 83 * 84 * bdi->wb.list_lock 85 * sb_lock (fs/fs-writeback.c) 86 * ->mapping->tree_lock ( sync_single_inode) 87 * 88 * ->i_mmap_rwsem 89 * ->anon_vma.lock (vma_adjust) 90 * 91 * ->anon_vma.lock 92 * ->page_table_lock or pte_lock (anon_vma_prepare and various) 93 * 94 * ->page_table_lock or pte_lock 95 * ->swap_lock (try_to_unmap_one)
44 Deadlock Avoidance Banker s algorithm - Dijkstra (1965) Safe and unsafe states Checks to see if any request would yield a safe state If not, the request is denied
45 Banker s algorithm
46 Banker s algorithm Using Vector E (Existing Resources) and P (Possessed Resources) build
47 Banker s algorithm Using Vector E (Existing Resources) and P (Possessed Resources) build A: Available resources
48 Banker s algorithm Using Vector E (Existing Resources) and P (Possessed Resources) build A: Available resources Pick a row whose resource needs are smaller or equal to A. If not found, system would eventually deadlock as resources cannot be found.
49 Banker s algorithm Using Vector E (Existing Resources) and P (Possessed Resources) build A: Available resources Pick a row whose resource needs are smaller or equal to A. If not found, system would eventually deadlock as resources cannot be found. Assuming the process makes a maximum allocation of its resources, consider the process as terminated and add its resources to the A vector
50 Banker s algorithm Using Vector E (Existing Resources) and P (Possessed Resources) build A: Available resources Pick a row whose resource needs are smaller or equal to A. If not found, system would eventually deadlock as resources cannot be found. Assuming the process makes a maximum allocation of its resources, consider the process as terminated and add its resources to the A vector Repeat until all processes are terminated.
51 Problem #1 Is the State Safe? E = (6, 3, 4, 2) Allocated: A B C D P P P P P Needed: A B C D P P P P P
52 Problem #2 Is the state safe? E = (10, 5, 7) Allocated: A B C P P P P P Max: A B C P P P P P
53 Problem #3 Is the following state safe? E = (6, 5, 7, 6) Allocated: A B C D Max: A B C D P P P P P P
54 Done!!!
Common Concurrency Problems. Dongkun Shin, SKKU
Common Concurrency Problems 1 What Types Of Bugs Exist? Non-deadlock and deadlock Study by Lu et al. [ASPLOS 08] Non-deadlock bugs make up a majority of concurrency bugs 2 Non-Deadlock Bugs Atomicity-Violation
More informationConcurrency Bugs. Nima Honarmand (Based on slides by Prof. Andrea Arpaci-Dusseau)
Concurrency Bugs Nima Honarmand (Based on slides by Prof. Andrea Arpaci-Dusseau) Concurrency Bugs are Serious The Therac-25 incident (1980s) The accidents occurred when the high-power electron beam was
More informationChapter 3. Deadlocks
Chapter 3 Deadlocks 3.1. Resource 3.2. Introduction to deadlocks 3.3. The ostrich algorithm 3.4. Deadlock detection and recovery 3.5. Deadlock avoidance 3.6. Deadlock prevention 3.7. Other issues Resources
More informationResources. Lecture 4. Deadlocks. Resources (2) Resources (1) Four Conditions for Deadlock. Introduction to Deadlocks
Lecture 4 Deadlocks 3.1. Resource 3.2. Introduction to deadlocks 3.3. The ostrich algorithm 3.4. Deadlock detection and recovery 3.5. Deadlock avoidance 3.6. Deadlock prevention 3.7. Other issues Resources
More informationMODERN OPERATING SYSTEMS. Third Edition ANDREW S. TANENBAUM. Chapter 6 Deadlocks
MODERN OPERATING SYSTEMS Third Edition ANDREW S. TANENBAUM Chapter 6 Deadlocks Preemptable and Nonpreemptable Resources Sequence of events required to use a resource: 1. Request the resource. 2. Use the
More informationLinux kernel synchronization. Don Porter CSE 506
Linux kernel synchronization Don Porter CSE 506 The old days Early/simple OSes (like JOS): No need for synchronization All kernel requests wait until completion even disk requests Heavily restrict when
More informationDeadlocks. Today. Next Time. Resources & deadlocks Dealing with deadlocks Other issues. I/O and file systems
Deadlocks Today Resources & deadlocks Dealing with deadlocks Other issues Next Time I/O and file systems That s some catch, that Catch-22 Thread A: lock(l1); lock(l2);... A Thread B: lock(l2); lock(l1);...
More informationMore on Synchronization and Deadlock
Examples of OS Kernel Synchronization More on Synchronization and Deadlock Two processes making system calls to read/write on the same file, leading to possible race condition on the file system data structures
More informationChapter 3. Deadlocks
Chapter 3 Deadlocks 3.1 Resource 3.2 Introduction to deadlocks 3.3 The ostrich algorithm 3.4 Deadlock detection and recovery 3.5 Deadlock avoidance 3.6 Deadlock prevention 3.7 Other issues Resources Examples
More informationIntroduction to OS. Deadlock. MOS Ch. 6. Mahmoud El-Gayyar. Mahmoud El-Gayyar / Introduction to OS 1
Introduction to OS Deadlock MOS Ch. 6 Mahmoud El-Gayyar elgayyar@ci.suez.edu.eg Mahmoud El-Gayyar / Introduction to OS 1 Outline What is Deadlock? How to handle Deadlock? Deadlock Detection and Recovery
More informationOperating Systems CMPSCI 377 Spring Mark Corner University of Massachusetts Amherst
Operating Systems CMPSCI 377 Spring 2017 Mark Corner University of Massachusetts Amherst Clicker Question #1 public static void main(string[] args) { (new Thread(new t1())).start(); (new Thread(new t2())).start();}
More informationCISC 7310X. C10: Deadlocks. Hui Chen Department of Computer & Information Science CUNY Brooklyn College. 4/12/2018 CUNY Brooklyn College
CISC 7310X C10: Deadlocks Hui Chen Department of Computer & Information Science CUNY Brooklyn College 4/12/2018 CUNY Brooklyn College 1 Outline Concept of deadlock Necessary conditions Models of deadlocks
More informationConcurrency problems. q Non-deadlock bugs q Resources & deadlocks q Dealing with deadlocks q Other issues q Next Time: I/O and file systems
Concurrency problems q Non-deadlock bugs q Resources & deadlocks q Dealing with deadlocks q Other issues q Next Time: I/O and file systems Bugs in some modern applications From some key apps, a summary
More informationDeadlocks. Thomas Plagemann. With slides from C. Griwodz, K. Li, A. Tanenbaum and M. van Steen
Deadlocks Thomas Plagemann With slides from C. Griwodz, K. Li, A. Tanenbaum and M. van Steen Preempting Scheduler Activations Scheduler activations are completely preemptable User" space" Kernel " space"
More informationDEADLOCKS M O D E R N O P E R A T I N G S Y S T E M S C H A P T E R 6 S P R I N G
DEADLOCKS M O D E R N O P E R A T I N G S Y S T E M S C H A P T E R 6 S P R I N G 2 0 1 8 NON-RESOURCE DEADLOCKS Possible for two processes to deadlock each is waiting for the other to do some task Can
More informationOperating Systems. Lecture3.2 - Deadlock Management. Golestan University. Hossein Momeni
Operating Systems Lecture3.2 - Deadlock Management Golestan University Hossein Momeni momeni@iust.ac.ir Contents Resources Introduction to deadlocks Why do deadlocks occur? Ignoring deadlocks : ostrich
More informationMODERN OPERATING SYSTEMS. Third Edition ANDREW S. TANENBAUM. Chapter 6 Deadlocks
MODERN OPERATING SYSTEMS Third Edition ANDREW S. TANENBAUM Chapter 6 Deadlocks Preemptable and Nonpreemptable Resources Non-sharable resource: the resource can be used by only one process at a time A process
More informationDeadlocks. Today. Next Time. ! Resources & deadlocks! Dealing with deadlocks! Other issues. ! Memory management
Deadlocks Today! Resources & deadlocks! Dealing with deadlocks! Other issues Next Time! Memory management Introduction to deadlocks A set of threads is deadlocked if each thread in the set is waiting for
More informationProcess 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
1 Deadlocks ffl Non-sharable resource: the resource can be used by only one process at a time ffl A process may use a resource in only the following sequence: Request: If the resource cannot be granted,
More informationOperating Systems. Deadlocks
Operating Systems Deadlocks Deadlocks Example: two processes want to scan a document, and then save it on a CD P0 down(scanner); down(cd_writer); scan_and_record(); up(cd_writer); up(scanner); P1 down(cd_writer);
More informationDeadlock. A Bit More on Synchronization. The Deadlock Problem. Deadlock Characterization. Operating Systems 2/7/2005. CSC 256/456 - Spring
A Bit More on Synchronization Deadlock CS 256/456 Dept. of Computer Science, University of Rochester Synchronizing interrupt handlers: Interrupt handlers run at highest priority and they must not block.
More informationOperating Systems. Deadlock. User OS. Kernel & Device Drivers. Interface Programs. Brian Mitchell - Operating Systems
User OS Kernel & Device Drivers Interface Programs Deadlock 1 Deadlocks Computer resources are full of resources that can only be used by one process at a time Unpredictable results can occur if two or
More informationDeadlocks. Tore Larsen. With slides from T. Plagemann, C. Griwodz, K. Li, A. Tanenbaum and M. van Steen
Deadlocks Tore Larsen With slides from T. Plagemann,. Griwodz, K. Li, A. Tanenbaum and M. van Steen Resources Resource allocation is a central OS concern Examples of computer resources PU Memory Disk drive
More informationl12 handout.txt l12 handout.txt Printed by Michael Walfish Feb 24, 11 12:57 Page 1/5 Feb 24, 11 12:57 Page 2/5
Feb 24, 11 12:57 Page 1/5 1 Handout for CS 372H 2 Class 12 3 24 February 2011 4 5 1. CAS / CMPXCHG 6 7 Useful operation: compare and swap, known as CAS. Says: "atomically 8 check whether a given memory
More informationDeadlocks Prof. James L. Frankel Harvard University. Version of 7:05 PM 7-Mar-2017 Copyright 2017, 2015 James L. Frankel. All rights reserved.
Deadlocks Prof. James L. Frankel Harvard University Version of 7:05 PM 7-Mar-2017 Copyright 2017, 2015 James L. Frankel. All rights reserved. Introduction to Deadlocks Computer resources Files Database
More informationLinux kernel synchronization
Linux kernel synchronization Don Porter CSE 56 Memory Management Logical Diagram Binary Memory Formats Allocators Threads Today s Lecture Synchronization System Calls RCU in the kernel File System Networking
More information6. Concurrency: Deadlock
CSC400 - Operating Systems 6. Concurrency: Deadlock J. Sumey Deadlock one problem that results from multiprogramming def: a process (or thread) is said to be deadlocked if it is waiting for an event that
More information! What is a deadlock? ! What causes a deadlock? ! How do you deal with (potential) deadlocks? Maria Hybinette, UGA
Chapter 8: Deadlock Questions? CSCI 4730 Operating Systems! What is a deadlock?! What causes a deadlock?! How do you deal with (potential) deadlocks? Deadlock Deadlock: What is a deadlock? Example: Two
More informationCSCC 69H3 2/1/13. Today: Deadlock. Remember example from last week? Example of Deadlock. Example: dining philosophers: Not just an OS Problem!
2/1/13 Today: Deadlock CSCC 69H3 Operating Systems Winter 2013 Professor Bianca Schroeder U of T Remember example from last week? My_work(id_t id) { /* id can be 0 or 1 */ flag[id] = true; /* indicate
More informationCOMPUTER SCIENCE 4500 OPERATING SYSTEMS
Last update: 2/23/2017 COMPUTER SCIENCE 4500 OPERATING SYSTEMS 2017 Stanley Wileman Module 7: Deadlocks In This Module 2! Deadlock: Definition and Examples! Deadlock: Models! Deadlock: Prevention Algorithms
More informationComputer Science 4500 Operating Systems. In This Module. Deadlock Definition. Module 7 Deadlocks
Computer Science 4500 Operating Systems Module 7 Deadlocks 2008 Stanley A. Wileman, Jr. Operating Systems Slide 1 In This Module Deadlock: Definition and Examples Deadlock: Models Deadlock: Prevention
More informationComputer Science 4500 Operating Systems
Computer Science 4500 Operating Systems Module 7 Deadlocks 2008 Stanley A. Wileman, Jr. Operating Systems Slide 1 1 In This Module Deadlock: Definition and Examples Deadlock: Models Deadlock: Prevention
More informationChapter 6. Deadlocks
Chapter 6 Deadlocks 6.. Resources 6.. Introduction to deadlocks 6.3. The ostrich algorithm 6.6. Deadlock prevention 6.4. Deadlock detection and recovery 6.5. Deadlock avoidance 6.7. Other issues Learning
More informationDeadlock and Starvation
Deadlock and Starvation Deadlock Permanent blocking of a set of processes Processes are waiting on events, but the events can only be triggered by other blocked processes No simple, efficient solution
More informationDeadlocks. Mehdi Kargahi School of ECE University of Tehran Spring 2008
Deadlocks Mehdi Kargahi School of ECE University of Tehran Spring 2008 What is a Deadlock Processes use resources in the following sequence: Request Use Release A number of processes may participate in
More information!! What is a deadlock? !! What causes a deadlock? !! How do you deal with (potential) deadlocks? Maria Hybinette, UGA
Chapter 8: Deadlock Questions? CSCI [4 6]730 Operating Systems!! What is a deadlock?!! What causes a deadlock?!! How do you deal with (potential) deadlocks? Deadlock 2 Deadlock: What is a deadlock? Example:
More informationCS450/550 Operating Systems
CS450/550 Operating Systems Lecture 3 Deadlocks Dr. Xiaobo Zhou Department of Computer Science CS450/550 Deadlocks.1 Review: Summary of Chapter 2 Sequential process model Multi-threading: user-space vs.
More informationCOS 318: Operating Systems. Deadlocks. Jaswinder Pal Singh Computer Science Department Princeton University
COS 318: Operating Systems Deadlocks Jaswinder Pal Singh Computer Science Department Princeton University (http://www.cs.princeton.edu/courses/cos318/) Today s Topics u Conditions for a deadlock u Strategies
More informationECS 150 (Operating Systems) Goal To examine what causes deadlock, and what to do about it. Spring Quarter
D e a d l o c k Goal To examine what causes deadlock, and what to do about it. Spring Quarter 1999 1 The resource manager is that part of the kernel responsible for managing resources. Its process interface
More informationConcurrency problems. To do. q Non-deadlock bugs q Resources & deadlocks q Dealing with deadlocks q Other issues q Next Time: I/O and file systems
Concurrency problems To do q Non-deadlock bugs q Resources & deadlocks q Dealing with deadlocks q Other issues q Next Time: I/O and file systems Bugs in some modern applications From some key apps, a summary
More informationResources. Chapter 3. Deadlocks. Resources. Resources
hapter Deadlocks.. esource.. Introduction to deadlocks.. The ostrich algorithm.4. Deadlock detection and recovery.5. Deadlock avoidance.6. Deadlock prevention.7. Other issues esources Examples of computer
More informationLast Class: Monitors. Real-world Examples
Last Class: Monitors Monitor wraps operations with a mutex Condition variables release mutex temporarily C++ does not provide a monitor construct, but monitors can be implemented by following the monitor
More informationOPERATING SYSTEMS. Deadlocks
OPERATING SYSTEMS CS3502 Spring 2018 Deadlocks Chapter 7 Resource Allocation and Deallocation When a process needs resources, it will normally follow the sequence: 1. Request a number of instances of one
More informationLearning Outcomes. Chapter 3. Deadlocks. Resources. Resources. Resources
hapter Deadlocks.. esource.. Introduction to deadlocks.. The ostrich algorithm.4. Deadlock detection and recovery.5. Deadlock avoidance.6. Deadlock prevention.7. Other issues Learning Outcomes Understand
More informationLearning Outcomes. Chapter 6. Deadlocks. Resources. Resources & Deadlocks. Resource Access. Two example resource usage patterns
hapter 6 Deadlocks 6.. esources 6.. Introduction to deadlocks 6.. The ostrich algorithm 6.6. Deadlock prevention 6.4. Deadlock detection and recovery 6.5. Deadlock avoidance 6.7. Other issues Learning
More informationConcurrency: Deadlock and Starvation. Chapter 6
Concurrency: Deadlock and Starvation Chapter 6 1 What is Deadlock Permanent blocking of a set of processes that either compete for system resources or communicate with each other Involve conflicting needs
More informationShared and Preemptable Resources. A few resources may be sharable. Anyone can write the system log.
Shared and Preemptable Resources A few resources may be sharable Anyone can write the system log Deadlock Ch 3 Some resources are preemptable They can be safely taken away Memory may be preempted by swapping
More informationDeadlock and Starvation
Deadlock and Starvation Deadlock Permanent blocking of a set of processes that either compete for system resources or communicate with each other Involve conflicting needs for resources by two or more
More informationDeadlocks. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University
Deadlocks Jin-Soo Kim (jinsookim@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Today s Topics What is the deadlock problem? Four conditions for deadlock Handling deadlock
More informationChapter 3: Deadlocks
Chapter 3: Deadlocks Overview Resources Why do deadlocks occur? Dealing with deadlocks Ignoring them: ostrich algorithm Detecting & recovering from deadlock Avoiding deadlock Preventing deadlock Resources
More informationThe Deadlock Problem. A set of blocked processes each holding a resource and waiting to acquire a resource held by another process in the set.
Deadlock 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 Example semaphores A and B, initialized to 1 P 0 P
More informationDeadlocks. Copyright : University of Illinois CS 241 Staff 1
Deadlocks 1 Deadlock Which way should I go? 2 Deadlock I Oh can no! almost I m get stuck! across GRIDLOCK! 3 Deadlock Definition Deadlocked process Waiting for an event that will never occur Typically,
More informationDeadlock. Disclaimer: some slides are adopted from Dr. Kulkarni s and book authors slides with permission 1
Deadlock Disclaimer: some slides are adopted from Dr. Kulkarni s and book authors slides with permission 1 Recap: Synchronization Race condition A situation when two or more threads read and write shared
More informationBridge Crossing Example
CSCI 4401 Principles of Operating Systems I Deadlocks Vassil Roussev vassil@cs.uno.edu Bridge Crossing Example 2 Traffic only in one direction. Each section of a bridge can be viewed as a resource. If
More informationChapter 6 Concurrency: Deadlock and Starvation
Operating Systems: Internals and Design Principles Chapter 6 Concurrency: Deadlock and Starvation Seventh Edition By William Stallings Edited by Rana Forsati CSE410 Outline Principles of deadlock Deadlock
More informationThe Deadlock Problem
Deadlocks 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. Example System has 2 disk drives. P1 and P2 each
More informationCSCE Operating Systems Deadlock. Qiang Zeng, Ph.D. Fall 2018
CSCE 311 - Operating Systems Deadlock Qiang Zeng, Ph.D. Fall 2018 Previous Class What is Deadlock? How to detect it? Dealing with deadlock: Prevention Avoidance Detection CSCE 311 Operating Systems 2 Outline
More informationBack to synchronization
Back to synchronization The dining philosophers problem Deadlocks o Modeling deadlocks o Dealing with deadlocks Operating Systems, 28, I. Dinur, D. Hendler and R. Iakobashvili The Dining Philosophers Problem
More informationECE519 Advanced Operating Systems
IT 540 Operating Systems ECE519 Advanced Operating Systems Prof. Dr. Hasan Hüseyin BALIK (6 th Week) (Advanced) Operating Systems 6. Concurrency: Deadlock and Starvation 6. Outline Principles of Deadlock
More informationOPERATING SYSTEMS. After A.S.Tanenbaum, Modern Operating Systems, 3rd edition. Uses content with permission from Assoc. Prof. Florin Fortis, PhD
OPERATING SYSTEMS #4 After A.S.Tanenbaum, Modern Operating Systems, 3rd edition Uses content with permission from Assoc. Prof. Florin Fortis, PhD DEADLOCKS General Information DEADLOCKS RESOURCE T YPE
More informationCS Operating Systems
CS 4500 - Operating Systems Module 7: Deadlocks Stanley Wileman Department of Computer Science University of Nebraska at Omaha Omaha, NE 68182-0500, USA June 4, 2017 In This Module... Deadlock: Definition
More informationCS Operating Systems
CS 4500 - Operating Systems Module 7: Deadlocks Stanley Wileman Department of Computer Science University of Nebraska at Omaha Omaha, NE 68182-0500, USA June 4, 2017 In This Module... Deadlock: Definition
More informationOperating Systems: William Stallings. Starvation. Patricia Roy Manatee Community College, Venice, FL 2008, Prentice Hall
Operating Systems: Internals and Design Principles, 6/E William Stallings Chapter 6 Concurrency: Deadlock and Starvation Patricia Roy Manatee Community College, Venice, FL 2008, Prentice Hall Deadlock
More informationDeadlocks: Part I Prevention and Avoidance Yi Shi Fall 2017 Xi an Jiaotong University
Deadlocks: Part I Prevention and Avoidance Yi Shi Fall 2017 Xi an Jiaotong University Review: Motivation for Monitors and Condition Variables Semaphores are a huge step up, but: They are confusing because
More informationYet another synchronization problem
Yet another synchronization problem The dining philosophers problem Deadlocks o Modeling deadlocks o Dealing with deadlocks Operating Systems, 25, Meni Adler, Danny Hendler & Roie Zivan The Dining Philosophers
More informationCMPT 300 Introduction to Operating Systems
CMPT 300 Introduction to Operating Systems Introduction to Deadlocks 1 Preemptible resources Resources that can be taken away from a process without adversely affecting outcome Example: memory (swapping)
More informationDeadlock. Concurrency: Deadlock and Starvation. Reusable Resources
Concurrency: Deadlock and Starvation Chapter 6 Deadlock Permanent blocking of a set of processes that either compete for system resources or communicate with each other No efficient solution Involve conflicting
More informationSystem Model. Types of resources Reusable Resources Consumable Resources
Deadlocks The Deadlock Problem System Model Deadlock Characterization Methods for Handling Deadlocks Deadlock Prevention Deadlock Avoidance Deadlock Detection Recovery from Deadlock System Model Types
More informationThe deadlock problem
Deadlocks Arvind Krishnamurthy Spring 2004 The deadlock problem A set of blocked processes each holding a resource and waiting to acquire a resource held by another process. Example locks A and B P 0 P
More informationOPERATING SYSTEMS. Prescribed Text Book. Operating System Principles, Seventh Edition. Abraham Silberschatz, Peter Baer Galvin and Greg Gagne
OPERATING SYSTEMS Prescribed Text Book Operating System Principles, Seventh Edition By Abraham Silberschatz, Peter Baer Galvin and Greg Gagne 1 DEADLOCKS In a multi programming environment, several processes
More informationOperating Systems ECE344. Ding Yuan
Operating Systems ECE344 Ding Yuan Deadlock Synchronization is a live gun we can easily shoot ourselves in the foot Incorrect use of synchronization can block all processes We have talked about this problem
More informationCSE 306/506 Operating Systems Deadlock. YoungMin Kwon
CSE 306/506 Operating Systems Deadlock YoungMin Kwon Deadlock A set of processes are deadlocked if Each process in the set is blocked and Waiting for an event that can be triggered only from another process
More informationChris Rossbach, Owen Hofmann, Don Porter, Hany Ramadan, Aditya Bhandari, Emmett Witchel University of Texas at Austin
Chris Rossbach, Owen Hofmann, Don Porter, Hany Ramadan, Aditya Bhandari, Emmett Witchel University of Texas at Austin Hardware Transactional Memory is a reality Sun Rock supports HTM Solaris 10 takes advantage
More informationDeadlocks. Deadlock in Resource Sharing Environment. CIT 595 Spring Recap Example. Representing Deadlock
Deadlock in Resource Sharing Environment Operating System Deadlocks CIT 595 Spring 2010 A deadlock occurs when 2 or more processes/threads permanently block each other by each having a lock on a resource
More informationChapter - 4. Deadlocks Important Questions
Chapter - 4 Deadlocks Important Questions 1 1.What do you mean by Deadlocks? A process request for some resources. If the resources are not available at that time, the process enters a waiting state. The
More informationConcurrency: Principles of Deadlock. Processes and resources. Concurrency and deadlocks. Operating Systems Fall Processes need resources to run
Concurrency: Principles of Deadlock Operating Systems Fall 2002 Processes and resources Processes need resources to run CPU, memory, disk, etc process waiting for a resource cannot complete its execution
More informationCSE 380 Computer Operating Systems
CSE 380 Computer Operating Systems Instructor: Insup Lee and Dianna Xu University of Pennsylvania, Fall 2003 Lecture Note: Deadlocks 1 Resource Allocation q Examples of computer resources printers tape
More informationWhat is Deadlock? Two or more entities need a resource to make progress, but will never get that resource. Examples from everyday life:
Chapter 10 Deadlock What is Deadlock? Two or more entities need a resource to make progress, but will never get that resource Examples from everyday life: Gridlock of cars in a city Class scheduling: Two
More informationConcurrency: Deadlock and Starvation. Chapter 6
Concurrency: Deadlock and Starvation Chapter 6 Deadlock Permanent blocking of a set of processes that either compete for system resources or communicate with each other Involve conflicting needs for resources
More informationThe Deadlock Problem (1)
Deadlocks The Deadlock Problem (1) A set of blocked processes each holding a resource and waiting to acquire a resource held by another process in the set. Example System has 2 disk drives. P 1 and P 2
More informationCS370 Operating Systems
CS370 Operating Systems Colorado State University Yashwant K Malaiya Fall 2017 Lecture 16 Deadlock Slides based on Text by Silberschatz, Galvin, Gagne Various sources 1 1 FAQ Does a cycle in a resource
More informationCS370: Operating Systems [Spring 2017] Dept. Of Computer Science, Colorado State University
Frequently asked questions from the previous class survey CS 370: OPERATING SYSTEMS [DEADLOCKS] Shrideep Pallickara Computer Science Colorado State University Do most applications have some possibility
More informationChapter 7: Deadlocks. Operating System Concepts 9 th Edition
Chapter 7: Deadlocks Silberschatz, Galvin and Gagne 2013 Chapter 7: Deadlocks System Model Deadlock Characterization Methods for Handling Deadlocks Deadlock Prevention Deadlock Avoidance Deadlock Detection
More informationDeadlocks. Operating Systems. Resources. Deadlocks
Deadlocks User OS Kernel & Device Drivers Interface Programs Deadlock omputer are full of that can only be used by one process at a time Unpredictable results can occur if two or more processes use the
More informationDeadlock. Rab Nawaz Jadoon DCS. Assistant Professor COMSATS Lahore Pakistan. Department of Computer Science
Deadlock Rab Nawaz Jadoon DCS COMSATS Institute of Information Technology Assistant Professor COMSATS Lahore Pakistan Operating System Concepts Deadlock A process in a multiprogramming system is said to
More informationCS370 Operating Systems
CS370 Operating Systems Colorado State University Yashwant K Malaiya Fall 2016 Lecture 24 Deadlocks Slides based on Text by Silberschatz, Galvin, Gagne Various sources 1 1 FAQ Resource allocation graph:
More informationDeadlock. Concepts to discuss. A System Model. Deadlock Characterization. Deadlock: Dining-Philosophers Example. Deadlock: Bridge Crossing Example
Concepts to discuss Deadlock CSCI 315 Operating Systems Design Department of Computer Science Deadlock Livelock Spinlock vs. Blocking Notice: The slides for this lecture have been largely based on those
More informationContents. Chapter 8 Deadlocks
Contents * All rights reserved, Tei-Wei Kuo, National Taiwan University,.. Introduction. Computer-System Structures. Operating-System Structures 4. Processes 5. Threads 6. CPU Scheduling 7. Process Synchronization
More informationVI. Deadlocks. What is a Deadlock? Intended Schedule. Deadlock Problem (1) ???
Intended Schedule VI. Deadlocks Date Lecture Hand out Submission 0 20.04. Introduction to Operating Systems Course registration 1 27.04. Systems Programming using C (File Subsystem) 1. Assignment 2 04.05.
More informationVI. Deadlocks Operating Systems Prof. Dr. Marc H. Scholl DBIS U KN Summer Term
VI. Deadlocks 1 Intended Schedule Date Lecture Hand out Submission 0 20.04. Introduction to Operating Systems Course registration 1 27.04. Systems Programming using C (File Subsystem) 1. Assignment 2 04.05.
More informationOperating Systems CMPSC 473. Deadlocks February 28, Lecture 13 Instructor: Trent Jaeger
Operating Systems CMPSC 473 Deadlocks February 8, 8 - Lecture 13 Instructor: Trent Jaeger Last class: Synchronization Today: Deadlocks Definition A set of processes is deadlocked if each process in the
More informationChapter 6. Deadlock. (A Quick Introduction)
Chapter 6 Deadlock (A Quick Introduction) 1 Resources and Deadlocks Processes need access to resources in order to make progress. Examples of Resources: Kernel Data Structures (ProcessControlBlocks, Threads,
More informationDeadlock. Disclaimer: some slides are adopted from Dr. Kulkarni s and book authors slides with permission 1
Deadlock Disclaimer: some slides are adopted from Dr. Kulkarni s and book authors slides with permission 1 Recap: Synchronization Race condition A situation when two or more threads read and write shared
More informationDeadlock. Disclaimer: some slides are adopted from Dr. Kulkarni s and book authors slides with permission 1
Deadlock Disclaimer: some slides are adopted from Dr. Kulkarni s and book authors slides with permission 1 Recap: Synchronization Race condition A situation when two or more threads read and write shared
More informationChapter 7: Deadlocks. Operating System Concepts 8th Edition, modified by Stewart Weiss
Chapter 7: Deadlocks, Chapter 7: Deadlocks The Deadlock Problem System Model Deadlock Characterization Methods for Handling Deadlocks Deadlock Prevention Deadlock Avoidance (briefly) Deadlock Detection
More informationDeadlocks: Detection & Avoidance
Deadlocks: Detection & Avoidance (Chapter 6) CS 4410 Operating Systems The slides are the product of many rounds of teaching CS 4410 by Professors Agarwal, Bracy, George, Sirer, and Van Renesse. System
More informationOperating System: Chap7 Deadlocks. National Tsing-Hua University 2016, Fall Semester
Operating System: Chap7 Deadlocks National Tsing-Hua University 2016, Fall Semester Overview System Model Deadlock Characterization Deadlock Prevention Deadlock Avoidance Deadlock Detection Recovery from
More informationThe Deadlock Lecture
Concurrent systems Lecture 4: Deadlock, Livelock, and Priority Inversion DrRobert N. M. Watson The Deadlock Lecture 1 Reminder from last time Multi-Reader Single-Writer (MRSW) locks Alternatives to semaphores/locks:
More informationChapter 7: Deadlocks 1
1 Reminders: February 24, 2014 I hope you had a good Reading Week! Exercise 3 is due this Wednesday Any questions about anything? Don t forget about Assignment 2, due next week 2 Comments on Exercise 2
More informationChapter 6 Concurrency: Deadlock and Starvation
Operating Systems: Internals and Design Principles Chapter 6 Concurrency: Deadlock and Starvation Seventh Edition By William Stallings Operating Systems: Internals and Design Principles When two trains
More information