Meaning of Thrashing
If the process does not have number of frames it needs to support pages in active use, it will quickly page-fault. The high paging activity is called thrashing.
In other words we can say that when page fault ratio decreases below level, it is called thrashing.
Causes of Thrashing
It result in severe performance problems.
1) If CPU utilization is too low then we increase the degree of multiprogramming by introducing a new process to the system. A global page replacement algorithm is used. The CPU scheduler sees the decreasing CPU utilization and increases the degree of multiprogramming.
2) CPU utilization is plotted against the degree of multiprogramming.
3) As the degree of multiprogramming increases, CPU utilization also increases.
4) If the degree of multiprogramming is increased further, thrashing sets in and CPU utilization drops sharply.
5) So, at this point, to increase CPU utilization and to stop thrashing, we must decrease the degree of multiprogramming.
To limit the effect of thrashing
To limit the effect of thrashing we can use local replacement algorithm. With Local replacement algorithm, if the process starts thrashing, it cannot steal frames from another process and cause the latter to thrash as well. The problem is not entirely solved.
Thus the effective access time will increase even for the process that is not thrashing
How to prevent Thrashing
We must provide a process with as many frames as it needs. Several techniques are used.
The Working of Set Model (Strategy) It starts by looking at how many frames a process is actually using. This defines the locality model.
Locality Model It states that as a process executes, it moves from locality to locality.
A locality is a set of pages that are actively used together.
A program is generally composed of several different localities which overlap.