Open In App

Page Replacement Algorithms in Operating Systems

Improve
Improve
Improve
Like Article
Like
Save Article
Save
Share
Report issue
Report

In an operating system that uses paging for memory management, a page replacement algorithm is needed to decide which page needs to be replaced when a new page comes in. Page replacement becomes necessary when a page fault occurs and there are no free page frames in memory. However, another page fault would arise if the replaced page is referenced again. Hence it is important to replace a page that is not likely to be referenced in the immediate future. y. If no page frame is free, the virtual memory manager performs a page replacement operation to replace one of the pages existing in memory with the page whose reference caused the page fault. It is performed as follows: The virtual memory manager uses a page replacement algorithm to select one of the pages currently in memory for replacement, accesses the page table entry of the selected page to mark it as “not present” in memory, and initiates a page-out operation for it if the modified bit of its page table entry indicates that it is a dirty page.

Page Fault: A page fault happens when a running program accesses a memory page that is mapped into the virtual address space but not loaded in physical memory. Since actual physical memory is much smaller than virtual memory, page faults happen. In case of a page fault, Operating System might have to replace one of the existing pages with the newly needed page. Different page replacement algorithms suggest different ways to decide which page to replace. The target for all algorithms is to reduce the number of page faults. 

Page Replacement Algorithms: 

1. First In First Out (FIFO): This is the simplest page replacement algorithm. In this algorithm, the operating system keeps track of all pages in the memory in a queue, the oldest page is in the front of the queue. When a page needs to be replaced page in the front of the queue is selected for removal. 

Example 1: Consider page reference string 1, 3, 0, 3, 5, 6, 3 with 3 page frames.Find the number of page faults. 

Initially, all slots are empty, so when 1, 3, 0 came they are allocated to the empty slots —> 3 Page Faults. 
when 3 comes, it is already in memory so —> 0 Page Faults. Then 5 comes, it is not available in memory so it replaces the oldest page slot i.e 1. —>1 Page Fault. 6 comes, it is also not available in memory so it replaces the oldest page slot i.e 3 —>1 Page Fault. Finally, when 3 come it is not available so it replaces 0 1 page fault. 

Belady’s anomaly proves that it is possible to have more page faults when increasing the number of page frames while using the First in First Out (FIFO) page replacement algorithm.  For example, if we consider reference strings 3, 2, 1, 0, 3, 2, 4, 3, 2, 1, 0, 4, and 3 slots, we get 9 total page faults, but if we increase slots to 4, we get 10-page faults.

2. Optimal Page replacement: In this algorithm, pages are replaced which would not be used for the longest duration of time in the future. 

Example-2: Consider the page references 7, 0, 1, 2, 0, 3, 0, 4, 2, 3, 0, 3, 2, 3 with 4 page frame. Find number of page fault. 

Initially, all slots are empty, so when 7 0 1 2 are allocated to the empty slots —> 4 Page faults 
0 is already there so —> 0 Page fault. when 3 came it will take the place of 7 because it is not used for the longest duration of time in the future.—>1 Page fault. 0 is already there so —> 0 Page fault. 4 will takes place of 1 —> 1 Page Fault. 

Now for the further page reference string —> 0 Page fault because they are already available in the memory. 
Optimal page replacement is perfect, but not possible in practice as the operating system cannot know future requests. The use of Optimal Page replacement is to set up a benchmark so that other replacement algorithms can be analyzed against it.

3. Least Recently Used: In this algorithm, page will be replaced which is least recently used. 

Example-3: Consider the page reference string 7, 0, 1, 2, 0, 3, 0, 4, 2, 3, 0, 3, 2, 3 with 4 page frames. Find number of page faults. 

Initially, all slots are empty, so when 7 0 1 2 are allocated to the empty slots —> 4 Page faults 
0 is already their so —> 0 Page fault. when 3 came it will take the place of 7 because it is least recently used —>1 Page fault 
0 is already in memory so —> 0 Page fault
4 will takes place of 1 —> 1 Page Fault 
Now for the further page reference string —> 0 Page fault because they are already available in the memory. 

4. Most Recently Used (MRU): In this algorithm, page will be replaced which has been used recently. Belady’s anomaly can occur in this algorithm.

Initially, all slots are empty, so when 7 0 1 2 are allocated to the empty slots —> 4 Page faults 

0 is already their so–> 0 page fault

when 3 comes it will take place of 0 because it is most recently used —>1 Page fault 

when 0 comes it will take place of 3  —>1 Page fault 

when 4 comes it will take place of 0  —>1 Page fault 

2 is already in memory so —> 0 Page fault

when 3 comes it will take place of 2  —>1 Page fault 

when 0 comes it will take place of 3  —>1 Page fault 

when 3 comes it will take place of 0  —>1 Page fault 

when 2 comes it will take place of 3  —>1 Page fault 

when 3 comes it will take place of 2  —>1 Page fault 

GATE CS Corner Questions 

Practicing the following questions will help you test your knowledge. All questions have been asked in GATE in previous years or in GATE Mock Tests. It is highly recommended that you practice them.  

  1. Memory Management | Question 1
  2. Memory Management | Question 10
  3. GATE CS 2014 (Set-1), Question 65
  4. GATE CS 2012, Question 40
  5. GATE CS 2007, Question 56
  6. GATE CS 2007, Question 82
  7. GATE CS 2007, Question 83
  8. GATE CS 2014 (Set-3), Question 65
  9. GATE CS 2002 Question 23
  10. GATE CS 2001, Question 21
  11. GATE CS 2010, Question 24

Reference: Bélády’s anomaly 

This article has been improved by RajshreeSrivastava. Please write comments if you find anything incorrect, or if you want to share more information about the topic discussed above.



Last Updated : 19 Jan, 2024
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads