homework_5 Version 0 |
|
👤 Author: by 838135750qqcom 2019-10-10 13:51:58 |
Processes apply for resources dynamically.Operating system calculates the security before allocating resources.If it is safe,it allocates the resources.If it is unsafe,it waits to advoid the deadlock.
EXAMPLE:
Allocation Max Available Need
A B C A B C A B C A B C
P0 4,0,5 4,0,11 2,3,3 0,0,6
P1 4,0,2 5,3,6 1,3,4
P2 2,1,4 4,2,5 2,1,1
P3 2,1,2 5,5,9 3,4,7
P4 3,1,3 4,2,4 1,1,1
P2 request(2,0,1)
The sequence<P2,P4,P0,P1,P3>
DEMO:
void BankerAlgorithm() {
boolean T=true;
if(Request[num][0]<=Need[num][0]&&Request[num][1]<=Need[num][1]&& Request[num][2] <= Need[num][2]) {
if(Request[num][0]<=Available[0]&&Request[num][1]<=Available[1]&& Request[num][2] <= Available[2]) {
for (int i=0; i<3; i++) {
Available[i] = Available[i]- Request[num][i];
Alloction[num][i]= Alloction[num][i]+ Request[num][i];
Need[num][i] = Need[num][i]-Request[num][i];
}
} else {
printf(“wait”);
T=false;
}
} else {
printf(“error”);
T=false;
}
if(T==true){
printf(“Entry Security Algorithm”);
SecurityAlgorithm();
}
}