12_Deadlocks_III_2spp

12_Deadlocks_III_2spp - CSC 4103 - Operating Systems Fall...

Info iconThis preview shows pages 1–5. Sign up to view the full content.

View Full Document Right Arrow Icon
1 CSC 4103 - Operating Systems Fall 2009 Tevfik Ko ! ar Louisiana State University October 6 th , 2009 Lecture - XII Deadlocks - III 2 Deadlock Detection • Allow system to enter deadlock state • Detection algorithm • Recovery scheme
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
3 Single Instance of Each Resource Type • Maintain wait-for graph Nodes are processes. P i ! P j if P i is waiting for P j . Resource-Allocation Graph Corresponding wait-for graph 4 Single Instance of Each Resource Type • Periodically invoke an algorithm that searches for a cycle in the graph. • An algorithm to detect a cycle in a graph requires an order of n 2 operations, where n is the number of vertices in the graph. • Only good for single-instance resource allocation systems.
Background image of page 2
5 Several Instances of a Resource Type Available: A vector of length m indicates the number of available resources of each type. Allocation: An n x m matrix defines the number of resources of each type currently allocated to each process. Request: An n x m matrix indicates the current request of each process. If Request [ i j ] = k , then process P i is requesting k more instances of resource type. R j . 6 Detection Algorithm 1. Let Work and Finish be vectors of length m and n , respectively Initialize: (a) Work = Available (b) For i = 0,2, …, n-1 , if Allocation i " 0, then Finish [i] = false;otherwise, Finish [i] = true . 2. Find an index i such that both: (a) Finish [ i ] == false (b) Request i # Work If no such i exists, go to step 4.
Background image of page 3

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
7 Detection Algorithm (Cont.) 3. Work = Work + Allocation i Finish [ i ] = true go to step 2. 4. If Finish [ i ] == false, for some i , 0 # i # n-1 , then the system is in deadlock state. Moreover, if Finish [ i ] == false , then P i is deadlocked. Algorithm requires an order of O( m x n 2) operations to detect whether the system is in deadlocked state. 8
Background image of page 4
Image of page 5
This is the end of the preview. Sign up to access the rest of the document.

Page1 / 13

12_Deadlocks_III_2spp - CSC 4103 - Operating Systems Fall...

This preview shows document pages 1 - 5. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online