0% found this document useful (0 votes)
53 views5 pages

P0 2 0 0 1 P1 3 1 2 1 P2 2 1 0 3 P3 1 3 1 2 P4 1 4 3 2: Given Snapshot: Allocation Matrix: Process A B C D

The document outlines the Banker's Algorithm to determine if a system is in a safe state, providing the Allocation and Maximum Need matrices for five processes. It calculates the Need matrix and finds a safe sequence of process completion as P0 → P1 → P3 → P2 → P4. Additionally, it assesses a resource request from process P1 and concludes that the request can be granted immediately while maintaining system safety.

Uploaded by

Durga A
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
53 views5 pages

P0 2 0 0 1 P1 3 1 2 1 P2 2 1 0 3 P3 1 3 1 2 P4 1 4 3 2: Given Snapshot: Allocation Matrix: Process A B C D

The document outlines the Banker's Algorithm to determine if a system is in a safe state, providing the Allocation and Maximum Need matrices for five processes. It calculates the Need matrix and finds a safe sequence of process completion as P0 → P1 → P3 → P2 → P4. Additionally, it assesses a resource request from process P1 and concludes that the request can be granted immediately while maintaining system safety.

Uploaded by

Durga A
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 5

Given Snapshot:

 Allocation Matrix:

Process A B C D

P0 2 0 0 1

P1 3 1 2 1

P2 2 1 0 3

P3 1 3 1 2

P4 1 4 3 2

 Maximum Need Matrix:

Process A B C D

P0 4 2 1 2

P1 5 2 5 2

P2 2 3 1 6

P3 1 4 2 4

P4 3 6 6 5

 Available Vector:

o A = 3, B = 3, C = 2, D = 1
(i) Illustrate that the system is in a safe state and demonstrate an order in which the processes may
complete.

To determine if the system is in a safe state, we need to apply the Banker's Algorithm.

Step 1: Calculate the Need Matrix

The Need matrix is calculated by subtracting the Allocation matrix from the Maximum Need matrix:

Process A B C D

P0 4-2 = 2 2-0 = 2 1-0 = 1 2-1 = 1

P1 5-3 = 2 2-1 = 1 5-2 = 3 2-1 = 1

P2 2-2 = 0 3-1 = 2 1-0 = 1 6-3 = 3

P3 1-1 = 0 4-3 = 1 2-1 = 1 4-2 = 2

P4 3-1 = 2 6-4 = 2 6-3 = 3 5-2 = 3

So, the Need Matrix is:

Process A B C D

P0 2 2 1 1

P1 2 1 3 1

P2 0 2 1 3

P3 0 1 1 2

P4 2 2 3 3

Step 2: Check for a Safe Sequence

We now try to find a safe sequence by checking whether a process can finish given the Available
resources and the Need matrix.

 Available resources = (3, 3, 2, 1)

Check Process P0:

 Need for P0 = (2, 2, 1, 1)

 Available = (3, 3, 2, 1)

 P0 can finish because its need is less than or equal to the available resources.

 After P0 finishes, it releases its resources: (2, 0, 0, 1).

 New Available = (3 + 2, 3 + 0, 2 + 0, 1 + 1) = (5, 3, 2, 2).

Check Process P1:


 Need for P1 = (2, 1, 3, 1)

 Available = (5, 3, 2, 2)

 P1 can finish because its need is less than or equal to the available resources.

 After P1 finishes, it releases its resources: (3, 1, 2, 1).

 New Available = (5 + 3, 3 + 1, 2 + 2, 2 + 1) = (8, 4, 4, 3).

Check Process P3:

 Need for P3 = (0, 1, 1, 2)

 Available = (8, 4, 4, 3)

 P3 can finish because its need is less than or equal to the available resources.

 After P3 finishes, it releases its resources: (1, 3, 1, 2).

 New Available = (8 + 1, 4 + 3, 4 + 1, 3 + 2) = (9, 7, 5, 5).

Check Process P2:

 Need for P2 = (0, 2, 1, 3)

 Available = (9, 7, 5, 5)

 P2 can finish because its need is less than or equal to the available resources.

 After P2 finishes, it releases its resources: (2, 1, 0, 3).

 New Available = (9 + 2, 7 + 1, 5 + 0, 5 + 3) = (11, 8, 5, 8).

Check Process P4:

 Need for P4 = (2, 2, 3, 3)

 Available = (11, 8, 5, 8)

 P4 can finish because its need is less than or equal to the available resources.

 After P4 finishes, it releases its resources: (1, 4, 3, 2).

 New Available = (11 + 1, 8 + 4, 5 + 3, 8 + 2) = (12, 12, 8, 10).

Safe Sequence:

The safe sequence is: P0 → P1 → P3 → P2 → P4

Thus, the system is in a safe state, and the processes can complete in this order.

(ii) If a request from process P1 arrives for (1, 1, 0, 0), can the request be granted immediately?

Step 1: Check if the request is less than or equal to the Need of P1


The request from P1 is (1, 1, 0, 0).

P1's Need is (2, 1, 3, 1), so the request (1, 1, 0, 0) is less than or equal to the Need of P1.

Step 2: Check if the request is less than or equal to the Available resources

The Available resources are (3, 3, 2, 1).

 P1's request for (1, 1, 0, 0) is less than or equal to the available resources (3, 3, 2, 1), so the
request can be potentially granted.

Step 3: Temporarily allocate the resources and check for safety

 Temporary Allocation for P1: (3 + 1, 1 + 1, 2 + 0, 1 + 0) = (4, 2, 2, 1)

 Temporary Available: (3 - 1, 3 - 1, 2 - 0, 1 - 0) = (2, 2, 2, 1)

Now, check if the system is still in a safe state after granting the request.

The new Available resources are (2, 2, 2, 1). Let's see if a safe sequence can still be found with this
allocation.

 Check Process P0:

o Need for P0 = (2, 2, 1, 1)

o Available = (2, 2, 2, 1)

o P0 can finish because its need is less than or equal to the available resources.

o After P0 finishes, it releases its resources: (2, 0, 0, 1).

o New Available = (2 + 2, 2 + 0, 2 + 0, 1 + 1) = (4, 2, 2, 2).

 Check Process P1:

o Need for P1 = (1, 1, 3, 1)

o Available = (4, 2, 2, 2)

o P1 can finish because its need is less than or equal to the available resources.

o After P1 finishes, it releases its resources: (3, 1, 2, 1).

o New Available = (4 + 3, 2 + 1, 2 + 2, 2 + 1) = (7, 3, 4, 3).

 Check Process P3:

o Need for P3 = (0, 1, 1, 2)

o Available = (7, 3, 4, 3)

o P3 can finish because its need is less than or equal to the available resources.

o After P3 finishes, it releases its resources: (1, 3, 1, 2).

o New Available = (7 + 1, 3 + 3, 4 + 1, 3 + 2) = (8, 6, 5, 5).

 Check Process P2:


o Need for P2 = (0, 2, 1, 3)

o Available = (8, 6, 5, 5)

o P2 can finish because its need is less than or equal to the available resources.

o After P2 finishes, it releases its resources: (2, 1, 0, 3).

o New Available = (8 + 2, 6 + 1, 5 + 0, 5 + 3) = (10, 7, 5, 8).

 Check Process P4:

o Need for P4 = (2, 2, 3, 3)

o Available = (10, 7, 5, 8)

o P4 can finish because its need is less than or equal to the available resources.

o After P4 finishes, it releases its resources: (1, 4, 3, 2).

o New Available = (10 + 1, 7 + 4, 5 + 3, 8 + 2) = (11, 11, 8, 10).

Since we can still find a safe sequence after granting the request, the request can be granted
immediately.

Final Answers:

1. Safe State Sequence: P0 → P1 → P3 → P2 → P4

2. Request from P1: The request can be granted immediately.

You might also like