In this post we learn the basic algorithms of frame allocation.There are basically two algorithms for frame allocation :-
1. Equal allocation.
2. Proportional alloccation.
1. Equal allocation :-
The easiest way to split m number of frames among n processes is to give everyone an equal share, m/n frames ( ignoring frames needed by the O/S for that moment). As, if there is 93 frames and 5 processes, each process will get 18 frames. The 3 leftover frames can be used as a free-frame buffer pool. This scheme is called equal allocation.
DISADVANTAGE :-
In a system with processes varying sizes, it does not make such sense to give each processes equal frames.
Allocation of large number of frames to a small process will eventually lead to the wastage of large number of allocated unused frames.
2. Proportional alloccation.
Consider a system with 1KB frame. If a smalll student process of 10KB and an interactivedatabase of 127KB are the inly two processes running in the system with 62 free frames, it does not make much sense to give each process 31 frames. the student process does not need more than 10 frames. So the other 21 are strictly speaking waste.
To solve this problem we use a algorithm in which we allocate available memory to each process accoprding to its size.
For process Pi of size Si the number of allocated frames is
ai = ( Si / S) * m
where S is the sum of size of all processes and m is the number of frames in the system.
For above dicussed problem :-
S = 10 KB + 127 KB = 137 KB
Si = 10 KB
m = 62
ai = (10 / 137) * 62 = 4 frames.
and for other procss.
ai = (127 / 137) * 62 = 57 frames
ADVANTAGES :-
All the processes share the available frames according to their needs rather than equally.
Share, Follow and please comment if you find anything incorrect or to share more information about the topic discussed above.
Comments
Post a Comment
Please comment.