0% found this document useful (0 votes)
21 views4 pages

Spring 2024 - CS604 - 2 - BC210414671

Uploaded by

faizanali107f
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)
21 views4 pages

Spring 2024 - CS604 - 2 - BC210414671

Uploaded by

faizanali107f
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/ 4

Assignment no 2 CS604

BC210414671

Part 1:
1. Calculate the initial available resource.

Total Resources:
A: 7
B: 2
C: 3

Allocation Matrix:

[ ]
A B C
0 1 0

2 0 1
3 0 2

To calculate the available resources we first sum up the resources allocated to


all processes:
Allow resources:
A: 0 + 2 +3 = 5
B: 1 + 0 + 0 = 1
C: 0 + 1 + 2 = 3
Then subtract these from the total resources:

Initial Available resources:


A: 7 – 5 = 2
B: 2 – 1 = 1
C: 3 – 3 = 0
2. Calculate the need matrix.

Maximum demand (max) matrix:

[ ]
A B C
6 1 2
3 1 2
5 0 2

Allocation matrix:

[ ]
A B C
0 1 0
2 0 1
3 0 2

Need matrix (Max – Allocation):

[ ]
6−0 1−1 2−0
3−2 1−0 2−1
5−3 0−0 2−2

[ ]
6 0 2
1 1 1
2 0 0

Part 2:
Determine if the current system state is safe
Initial Available Resources:
[ 21 0 ]

Need Matrix

[ ]
6 0 2
1 1 1
2 0 0
Allocation matrix

[ ]
0 1 0
2 0 1
3 0 2

Step by step checking process


Check P0:
Need: [6, 0, 2]
Available: [2, 1, 0]
Since, Need 0<= Available is false, P0 cannot proceed.

Check P1:
Need: [1, 1, 1]
Available: [2, 1, 0]
Since, Need 1<= Available is false, P1 cannot proceed.

Check P2:
Need: [2, 0, 0]
Available: [2, 1, 0]
Since, Need 2<= Available is false, P2 cannot proceed.
After P2 finishes, it releases its resources: [3 , 0, 2]
New available resources: [2+3, 1+0, 0+2] = [5, 1, 2]

Check P0 again:
Need: [6, 0, 2]
Available: [5, 1, 2]
Since, Need 0<= Available is false, P0 cannot proceed.
Check P1 again:
Need: [1, 1, 1]
Available: [5, 1, 2]
Since, Need 1<= Available is false, P1 cannot proceed.
After P1 finishes, it releases its resources: [2 , 0, 1]
New available resources: [5+2, 1+0, 2+1] = [7, 1, 3]

Check P0 again:
Need: [6, 0, 2]
Available: [7, 1, 3]
Since, Need 0<= Available is false, P0 cannot proceed.
After P2 finishes, it releases its resources: [0, 1, 0]
New available resources: [7+0, 1+1, 3+0] = [7, 2, 3]

Since all processes can finish the system is in a safe state. The safe sequence is:
{P2, P1, P0}

You might also like