Intermediate Topic 31 of 51 Operating Systems
Page Replacement Algorithms
Policies such as FIFO, LRU and Clock for choosing victims.
How it works
When memory is full and a page fault needs a free frame, the OS chooses a victim page to evict. Common algorithms are FIFO, optimal, which evicts the page used furthest in the future and is only theoretical, LRU, clock, an efficient approximation of LRU with a reference bit, and variants such as second chance and working-set based policies. Dirty pages must be written back before reuse.
Step-by-step walkthrough
- All three frames are full.
- A new page is needed.
- FIFO evicts the page loaded first.
- LRU evicts the page unused the longest.
- The Clock algorithm approximates LRU with a reference bit.
Where it is used
Operating systems, database buffer managers and caches use these algorithms. Linux uses an approximation of LRU with active and inactive lists.
Common pitfall
FIFO can suffer Belady's anomaly, where more frames cause more faults. True LRU is costly to implement exactly. Scans of large files can evict useful pages, so scan-resistant variants are needed. Poor choices lead to thrashing. Evaluate algorithms with reference strings and fault counts.
Where it fits in the course
Page Replacement Algorithms is topic 31 of 51 in Operating Systems, rated Intermediate. It follows Page Faults. The next topic is Thrashing.
Practice and explore
- Open the interactive lesson, with a mini quiz.
- Take the Operating Systems quiz.
How to study this topic
- Read the explanation above and restate the definition in your own words.
- Open the interactive lesson and answer its mini quiz.
- Read the common pitfall, then write a short example that avoids it.
- Check your understanding in the Operating Systems quiz, and revisit the topic if you miss a question.
Frequently asked questions
What is Page Replacement Algorithms?
Where do people use Page Replacement Algorithms?
What is the most common mistake with Page Replacement Algorithms?
What should I learn before this topic?
How can I practice it?
Is Page Replacement Algorithms hard to learn?
How long does it take to learn Page Replacement Algorithms?
Which topics are related to Page Replacement Algorithms?
What should I study after Page Replacement Algorithms?
Related topics
- Page Faults (Operating Systems)
- Thrashing (Operating Systems)
- Virtual Memory (Operating Systems)
- Memory Allocation (Operating Systems)
- Line Drawing Algorithms (Graphics, Vision & Media)
- Load Balancing Algorithms (Distributed Systems & Cloud)
- Greedy Algorithms (Algorithms)