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
- 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 |