Lru Page Faults
1. **Problem Statement:**
We have a page reference string: $7,0,1,2,0,3,0,4,2,3,0,3,2,1,2$ and 3 page slots. We need to use the Least Recently Used (LRU) page replacement algorithm to:
i. Calculate the number of page faults.
ii. Calculate the hit ratio.
2. **LRU Algorithm Explanation:**
LRU replaces the page that has not been used for the longest time when a new page needs to be loaded and all slots are full.
3. **Step-by-step page replacement:**
- Start with empty slots: F1, F2, F3.
- Reference 7: Page fault, load 7 into F1. Slots: [7, -, -]
- Reference 0: Page fault, load 0 into F2. Slots: [7, 0, -]
- Reference 1: Page fault, load 1 into F3. Slots: [7, 0, 1]
- Reference 2: Page fault, replace least recently used (7) with 2. Slots: [2, 0, 1]
- Reference 0: Hit (0 is in slot F2). Slots unchanged.
- Reference 3: Page fault, replace least recently used (1) with 3. Slots: [2, 0, 3]
- Reference 0: Hit (0 in F2). Slots unchanged.
- Reference 4: Page fault, replace least recently used (2) with 4. Slots: [4, 0, 3]
- Reference 2: Page fault, replace least recently used (3) with 2. Slots: [4, 0, 2]
- Reference 3: Page fault, replace least recently used (0) with 3. Slots: [4, 3, 2]
- Reference 0: Page fault, replace least recently used (4) with 0. Slots: [0, 3, 2]
- Reference 3: Hit (3 in slot F2). Slots unchanged.
- Reference 2: Hit (2 in slot F3). Slots unchanged.
- Reference 1: Page fault, replace least recently used (0) with 1. Slots: [1, 3, 2]
- Reference 2: Hit (2 in slot F3). Slots unchanged.
4. **Counting page faults:**
Page faults occurred at references: 7, 0, 1, 2, 3, 4, 2, 3, 0, 1
Total page faults = 10
5. **Calculating hit ratio:**
Total references = 15
Hits = Total references - Page faults = 15 - 10 = 5
Hit ratio = Hits / Total references = $\frac{5}{15} = \frac{1}{3} \approx 0.333$