LRU page replacement algorithm

Prob. How many page faults will occur with a reference string 0,1,7,2,3,2,7,1,0,3?
There are four frames which are initially empty.
Use
1. LRU Page replacement algorithm
Sol.

LRU Page replacement algorithm:

LRU stands for least recently used.
It replaces the page that has been referenced for longest time.
In FIFO Page replacement algorithm problem is, it may replace heavily used pages.

 0 1 7 2 3 2 7 1 0 3

Above table is an example of page frame, which is empty initially. And first page is 0.

So 0 will get added here, but there will be a page fault.

What is a page fault?
The page which is requested by the program is not present in the RAM, that means there is a page fault.

0 was not present in the page frame so there was a page fault.

 0 1 7 2 3 2 7 1 0 3 0 F

The next page is 1 and there is space for two more pages.So 0 will remain there and 1 will get added there.And again there will be a page fault.

 0 1 7 2 3 2 7 1 0 3 0 0 1 F F

The next page is 7, which is not in the page frame, but there is place for one more page, so 0 and 1 will remain there and 7 will get added. And there will be a page fault.

 0 1 7 2 3 2 7 1 0 3 0 0 0 1 1 7 F F F

The next page is 2, which is not in the page frame, but there is place for one more page, so 0, 1 and 7 will remain there and 2 will get added. And there will be a page fault.

 0 1 7 2 3 2 7 1 0 3 0 0 0 0 1 1 1 7 7 2 F F F F

I have given red color when there is a page fault, and black color for rest of the pages, and green color for page hits.

Now the page frame is full, and the next page is 3 which is not there in the page frame. So we need to remove one page from the page frame, so we can add 3 there.

Now see in the table below,

2 is most recently used page, than 7 and than 1 and than 0.
So 0 will get removed, and 3 will get added there. And there will be a page fault because 3 was not present in the page frame. And 1, 7, and 2 will remain there.

The next page is 2, which is already present in the page frame. This is known as page hit.

What is page hit ?
The page which is requested by the program is already present in the RAM/page frame is known as page hit.

 0 1 7 2 3 2 7 1 0 3 0 0 0 0 3 3 1 1 1 1 1 7 7 7 7 2 2 2 F F F F F H

The next page is 7, which is already present in the page frame. This is known as page hit.

 0 1 7 2 3 2 7 1 0 3 0 0 0 0 3 3 3 1 1 1 1 1 1 7 7 7 7 7 2 2 2 2 F F F F F H H
The next page is 1, which is already present in the page frame. This is known as page hit.

 0 1 7 2 3 2 7 1 0 3 0 0 0 0 3 3 3 3 1 1 1 1 1 1 1 7 7 7 7 7 7 2 2 2 2 2 F F F F F H H H
The page frame is full, and the next page is 0 which is not there in the page frame. So we need to remove one page from the page frame, so we can add 0 there.

Now see in the table below,

1 is most recently used page, than 7 and than 2 and then 3.
So 3 will get removed, and 0 will get added there. And there will be a page fault because 0 was not present in the page frame. And 1, 7, and 2 will remain there.

The page frame is full, and the next page is 3 which is not there in the page frame. So we need to remove one page from the page frame, so we can add 3 there.

Now see in the table below,

0 is most recently used page, than 1 and than 7 and then 2.
So 2 will get removed, and 3 will get added there. And there will be a page fault because 3 was not present in the page frame. And 0, 1, and 7 will remain there.

Total pages present in the pages is = 10.

 0 1 7 2 3 2 7 1 0 3

Total page faults = 07.

 F F F F F F F

Total page hits = 03

 H H H