Page replacement algorithms (FIFO, LRU, Optimal) in Operating Systems - Time & Space Complexity
When a computer runs many programs, it needs to decide which memory pages to keep or replace.
We want to understand how the time to decide and replace pages grows as the number of pages increases.
Analyze the time complexity of the FIFO page replacement algorithm.
initialize queue for pages
for each page request in sequence:
if page in memory:
continue
else if memory full:
remove oldest page from queue
add new page to queue
else:
add new page to queue
This code manages pages using a queue to replace the oldest page first when memory is full.
Look at what repeats as pages are requested:
- Primary operation: Checking if a page is already in memory (search operation).
- How many times: Once for each page request in the sequence.
As the number of page requests grows, the time to check and replace pages grows too.
| Input Size (n) | Approx. Operations |
|---|---|
| 10 | About 10 checks and possible replacements |
| 100 | About 100 checks and possible replacements |
| 1000 | About 1000 checks and possible replacements |
Pattern observation: The work grows roughly in direct proportion to the number of page requests.
Time Complexity: O(n)
This means the time to handle page requests grows linearly as the number of requests increases.
[X] Wrong: "Page replacement always takes constant time regardless of memory size."
[OK] Correct: Checking if a page is in memory can take longer if memory holds many pages, so time depends on memory size and request count.
Understanding how page replacement algorithms scale helps you explain system efficiency clearly and confidently.
What if we changed FIFO to LRU? How would the time complexity change?
Practice
Solution
Step 1: Understand FIFO behavior
FIFO removes the oldest page loaded into memory first, ignoring how often it is used.Step 2: Compare with other algorithms
LRU removes the least recently used page, Optimal removes the page not needed for the longest future time, Random removes any page randomly.Final Answer:
FIFO (First In First Out) -> Option AQuick Check:
Oldest page removed = FIFO [OK]
- Confusing FIFO with LRU
- Thinking Optimal removes oldest page
- Assuming Random is FIFO
Solution
Step 1: Recall LRU definition
LRU removes the page that has not been used for the longest time recently.Step 2: Match options with definitions
Removes the page that will not be used for the longest time in the future describes Optimal, C describes FIFO, B is random removal.Final Answer:
Removes the least recently used page -> Option BQuick Check:
Least recently used = LRU [OK]
- Mixing LRU with Optimal
- Confusing LRU with FIFO
- Choosing random removal as LRU
7, 0, 1, 2, 0, 3, 0, 4 and 3 page frames, how many page faults occur using the FIFO algorithm?Solution
Step 1: Simulate FIFO with 3 frames
Load pages in order: 7 (fault), 0 (fault), 1 (fault), then 2 replaces 7 (fault), 0 is in memory (no fault), 3 replaces 0 (fault), 0 replaces 1 (fault), 4 replaces 2 (fault).Step 2: Count total faults
Faults occur at 7,0,1,2,3,0,4 = 7 faults, but 0 at position 6 is already in memory, so no fault there. Total faults = 6.Final Answer:
6 -> Option AQuick Check:
Count page faults in FIFO = 6 [OK]
- Counting repeated pages as faults
- Mixing FIFO with LRU results
- Forgetting to replace oldest page
1, 2, 3, 2, 1, 4: The algorithm replaces page 1 first instead of page 3.Solution
Step 1: Simulate LRU up to replacement point
1(fault)[1], 2(fault)[1,2], 3 replaces LRU=1 [2,3], 2(hit) updates LRU=3 MRU=2 [3,2]. Next 1 should replace LRU=3.Step 2: Check replacement choice
The error is replacing page 1 instead of the least recently used page 3.Final Answer:
Algorithm should replace least recently used page, which is page 3 -> Option CQuick Check:
LRU replaces least recently used page [OK]
- Replacing oldest page instead of least used
- Confusing LRU with FIFO
- Replacing wrong page due to usage order
1, 2, 3, 4, 2, 1, 5, 1, 2, 3, 4, 5. Using the Optimal page replacement algorithm, how many page faults will occur?Solution
Step 1: Simulate Optimal with 4 frames
1,2,3,4 (4 faults). 2 hit, 1 hit. 5 replaces 4 (farthest next at pos11, fault 5). 1 hit, 2 hit, 3 hit. 4 replaces 1 (no future use, fault 6). 5 hit.Step 2: Count total faults
Total faults = 6.Final Answer:
6 -> Option DQuick Check:
Optimal page faults counted = 6 [OK]
- Counting repeated pages as faults
- Using FIFO or LRU logic instead of Optimal
- Forgetting to check future references
Ready to prove it?
Pass the test and this pattern moves unknown
