STEP 3 Pretend to allocate requested resources to Pi by modifying the state as

Step 3 pretend to allocate requested resources to pi

This preview shows page 30 - 42 out of 45 pages.

± STEP 3: Pretend to allocate requested resources to Pi by modifying the state as follows: Available := Available - Request (i) ; Allocation ( i ) := Allocation ( i ) + Request ( i ) ; Need ( i ) := Need ( i ) - Request ( i ) ; ± If safe resources are allocated to Pi . ± If unsafe Pi must wait and the old resource-allocation state is restored.
Image of page 30
Example of Banker’s Algorithm ° 5 processes ± P0 - P4; ° 3 resource types ± A(10 instances), B (5 instances), C (7 instances) ° Snapshot at time T0 Allocation Max Available A B C A B C A B C P0 0 1 0 7 5 3 3 3 2 P1 2 0 0 3 2 2 P2 3 0 2 9 0 2 P3 2 1 1 2 2 2 P4 0 0 2 4 3 3
Image of page 31
Example (cont.) ° The content of the matrix Need is defined to be Max - Allocation . ° The system is in a safe state since the sequence < P 1, P 3, P 4, P 2, P 0> satisfies safety criteria. Need A B C P0 7 4 3 P1 1 2 2 P2 6 0 0 P3 0 1 1 P4 4 3 1
Image of page 32
Example: P1 requests (1,0,2) ° Check to see that Request Available ± ((1,0,2) (3,3,2)) true. Allocation Need Available A B C A B C A B C P0 0 1 0 7 4 3 2 3 0 P1 3 0 2 0 2 0 P2 3 0 2 6 0 0 P3 2 1 1 0 1 1 P4 0 0 2 4 3 1
Image of page 33
Example (cont.) ° Executing the safety algorithm shows that sequence <P1, P3, P4, P0, P2> satisfies safety requirement. ° Can request for (3,3,0) by P4 be granted? ° Can request for (0,2,0) by P0 be granted?
Image of page 34
Deadlock Detection ° Allow system to enter deadlock state ° Detection Algorithm ° Recovery Scheme
Image of page 35
Single Instance of each resource type ° Maintain wait-for graph ° Nodes are processes ° Pi Pj if Pi is waiting for Pj . ° 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.
Image of page 36
Several instances of a resource type ° Data Structures ± Available : Vector of length m . If Available [ j ] = k , there are k instances of resource type Rj available. ± Allocation : n × m matrix. If Allocation [ i , j ] = k , then process Pi is currently allocated k instances of resource type Rj . ± Request : An n × m matrix indicates the current request of each process. If Request [ i , j ] = k , then process Pi is requesting k more instances of resource type Rj .
Image of page 37
Deadlock Detection Algorithm ° Step 1: Let Work and Finish be vectors of length m and n , respectively. Initialize ± Work := Available ± For i = 1,2,…, n , if Allocation ( i ) 0, then Finish [ i ] := false , otherwise Finish [ i ] := true. ° Step 2: Find an index i such that both: ± Finish [ i ] = false ± Request ( i ) Work ± If no such i exists, go to step 4.
Image of page 38
Deadlock Detection Algorithm ° Step 3: Work := Work + Allocation( i ) ± Finish [ i ] := true ± go to step 2 ° Step 4: If Finish [ i ] = false for some i , 1 i n , then the system is in a deadlock state. Moreover, if Finish [ i ] = false , then Pi is deadlocked. Algorithm requires an order of m × (n^2) operations to detect whether the system is in a deadlocked state.
Image of page 39
Example of Detection Algorithm ° 5 processes - P 0 - P 4; 3 resource types - A (7 instances), B (2 instances), C (6 instances) ° Snapshot at time T 0: < P 0, P 2, P 3, P 1, P 4> will result in Finish [ i ] = true for all i . Allocation Max Available A B C A B C A B C P0 0 1 0 0 0 0 0 0 0 P1 2 0 0 2 0 2 P2 3 0 3 0 0 0 P3 2 1 1 1 0 0 P4 0 0 2 0 0 2
Image of page 40
Example (cont.) ° P2 requests an additional instance of type C.
Image of page 41
Image of page 42

You've reached the end of your free preview.

Want to read all 45 pages?

  • One '20

What students are saying

  • Left Quote Icon

    As a current student on this bumpy collegiate pathway, I stumbled upon Course Hero, where I can find study resources for nearly all my courses, get online help from tutors 24/7, and even share my old projects, papers, and lecture notes with other students.

    Student Picture

    Kiran Temple University Fox School of Business ‘17, Course Hero Intern

  • Left Quote Icon

    I cannot even describe how much Course Hero helped me this summer. It’s truly become something I can always rely on and help me. In the end, I was not only able to survive summer classes, but I was able to thrive thanks to Course Hero.

    Student Picture

    Dana University of Pennsylvania ‘17, Course Hero Intern

  • Left Quote Icon

    The ability to access any university’s resources through Course Hero proved invaluable in my case. I was behind on Tulane coursework and actually used UCLA’s materials to help me move forward and get everything together on time.

    Student Picture

    Jill Tulane University ‘16, Course Hero Intern

Stuck? We have tutors online 24/7 who can help you get unstuck.
A+ icon
Ask Expert Tutors You can ask You can ask ( soon) You can ask (will expire )
Answers in as fast as 15 minutes
A+ icon
Ask Expert Tutors