Bird
Raised Fist0
Operating Systemsknowledge~5 mins

Page replacement algorithms (FIFO, LRU, Optimal) in Operating Systems - Time & Space Complexity

Choose your learning style10 modes available
Time Complexity: Page replacement algorithms (FIFO, LRU, Optimal)
O(n)
Understanding Time 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.

Scenario Under Consideration

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.

Identify Repeating Operations

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.
How Execution Grows With Input

As the number of page requests grows, the time to check and replace pages grows too.

Input Size (n)Approx. Operations
10About 10 checks and possible replacements
100About 100 checks and possible replacements
1000About 1000 checks and possible replacements

Pattern observation: The work grows roughly in direct proportion to the number of page requests.

Final Time Complexity

Time Complexity: O(n)

This means the time to handle page requests grows linearly as the number of requests increases.

Common Mistake

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

Interview Connect

Understanding how page replacement algorithms scale helps you explain system efficiency clearly and confidently.

Self-Check

What if we changed FIFO to LRU? How would the time complexity change?

Practice

(1/5)
1. Which page replacement algorithm removes the page that has been in memory the longest, regardless of usage?
easy
A. FIFO (First In First Out)
B. LRU (Least Recently Used)
C. Optimal
D. Random

Solution

  1. Step 1: Understand FIFO behavior

    FIFO removes the oldest page loaded into memory first, ignoring how often it is used.
  2. 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.
  3. Final Answer:

    FIFO (First In First Out) -> Option A
  4. Quick Check:

    Oldest page removed = FIFO [OK]
Hint: Oldest page out means FIFO [OK]
Common Mistakes:
  • Confusing FIFO with LRU
  • Thinking Optimal removes oldest page
  • Assuming Random is FIFO
2. Which of the following is the correct description of the LRU page replacement algorithm?
easy
A. Removes the page that will not be used for the longest time in the future
B. Removes the least recently used page
C. Removes the oldest page loaded into memory
D. Removes a random page

Solution

  1. Step 1: Recall LRU definition

    LRU removes the page that has not been used for the longest time recently.
  2. 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.
  3. Final Answer:

    Removes the least recently used page -> Option B
  4. Quick Check:

    Least recently used = LRU [OK]
Hint: Least recent use means LRU [OK]
Common Mistakes:
  • Mixing LRU with Optimal
  • Confusing LRU with FIFO
  • Choosing random removal as LRU
3. Given the page reference string 7, 0, 1, 2, 0, 3, 0, 4 and 3 page frames, how many page faults occur using the FIFO algorithm?
medium
A. 6
B. 5
C. 7
D. 4

Solution

  1. 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).
  2. 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.
  3. Final Answer:

    6 -> Option A
  4. Quick Check:

    Count page faults in FIFO = 6 [OK]
Hint: Count faults when page not in frames FIFO order [OK]
Common Mistakes:
  • Counting repeated pages as faults
  • Mixing FIFO with LRU results
  • Forgetting to replace oldest page
4. Identify the error in this LRU page replacement simulation with 2 frames and reference string 1, 2, 3, 2, 1, 4: The algorithm replaces page 1 first instead of page 3.
medium
A. Algorithm should replace page 2 first
B. Algorithm should replace oldest page, which is page 1
C. Algorithm should replace least recently used page, which is page 3
D. Algorithm should replace a random page

Solution

  1. 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.
  2. Step 2: Check replacement choice

    The error is replacing page 1 instead of the least recently used page 3.
  3. Final Answer:

    Algorithm should replace least recently used page, which is page 3 -> Option C
  4. Quick Check:

    LRU replaces least recently used page [OK]
Hint: Replace least recently used page in LRU [OK]
Common Mistakes:
  • Replacing oldest page instead of least used
  • Confusing LRU with FIFO
  • Replacing wrong page due to usage order
5. You have 4 page frames and the reference string 1, 2, 3, 4, 2, 1, 5, 1, 2, 3, 4, 5. Using the Optimal page replacement algorithm, how many page faults will occur?
hard
A. 7
B. 8
C. 9
D. 6

Solution

  1. 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.
  2. Step 2: Count total faults

    Total faults = 6.
  3. Final Answer:

    6 -> Option D
  4. Quick Check:

    Optimal page faults counted = 6 [OK]
Hint: Replace page not needed longest in future [OK]
Common Mistakes:
  • Counting repeated pages as faults
  • Using FIFO or LRU logic instead of Optimal
  • Forgetting to check future references
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard