The FIFO algorithm replaces the oldest page that was brought into memory first when a new page needs to be swapped in.
Example:
Page Reference String: 1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4, 5
Cache Size: 3
Initial State:
Cache: []
Step 1: Page 1 loaded. Cache: [1] (Page Fault)
Step 2: Page 2 loaded. Cache: [1, 2] (Page Fault)
Step 3: Page 3 loaded. Cache: [1, 2, 3] (Page Fault)
Step 4: Page 4 loaded. Cache: [1, 2, 4] (Page Fault)
Step 5: Page 1 loaded. Cache: [2, 4, 1] (Page Fault)
Step 6: Page 2 already in cache. Cache: [2, 4, 1]
Step 7: Page 5 loaded. Cache: [4, 1, 5] (Page Fault)
Step 8: Page 1 already in cache. Cache: [4, 1, 5]
Step 9: Page 2 already in cache. Cache: [4, 1, 5]
Step 10: Page 3 loaded. Cache: [1, 5, 3] (Page Fault)
Step 11: Page 4 loaded. Cache: [5, 3, 4] (Page Fault)
Step 12: Page 5 already in cache. Cache: [5, 3, 4]
Total Page Faults: 8
The LRU algorithm replaces the page that has not been accessed for the longest period of time.
Example:
Page Reference String: 1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4, 5
Cache Size: 3
Initial State:
Cache: []
Step 1: Page 1 loaded. Cache: [1] (Page Fault)
Step 2: Page 2 loaded. Cache: [1, 2] (Page Fault)
Step 3: Page 3 loaded. Cache: [1, 2, 3] (Page Fault)
Step 4: Page 4 loaded. Cache: [2, 3, 4] (Page Fault)
Step 5: Page 1 loaded. Cache: [2, 3, 1] (Page Fault)
Step 6: Page 2 loaded. Cache: [3, 1, 2] (Page Fault)
Step 7: Page 5 loaded. Cache: [1, 2, 5] (Page Fault)
Step 8: Page 1 already in cache. Cache: [1, 2, 5]
Step 9: Page 2 already in cache. Cache: [1, 2, 5]
Step 10: Page 3 already in cache. Cache: [1, 2, 5]
Step 11: Page 4 loaded. Cache: [2, 5, 4] (Page Fault)
Step 12: Page 5 already in cache. Cache: [2, 5, 4]
Total Page Faults: 7
The Optimal algorithm replaces the page that will not be used for the longest period of time in the future.
Example:
Page Reference String: 1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4, 5
Cache Size: 3
Initial State:
Cache: []
Step 1: Page 1 loaded. Cache: [1] (Page Fault)
Step 2: Page 2 loaded. Cache: [1, 2] (Page Fault)
Step 3: Page 3 loaded. Cache: [1, 2, 3] (Page Fault)
Step 4: Page 4 loaded. Cache: [2, 3, 4] (Page Fault)
Step 5: Page 1 loaded. Cache: [2, 3, 1] (Page Fault)
Step 6: Page 2 loaded. Cache: [3, 1, 2] (Page Fault)
Step 7: Page 5 loaded. Cache: [1, 2, 5] (Page Fault)
Step 8: Page 1 already in cache. Cache: [1, 2, 5]
Step 9: Page 2 already in cache. Cache: [1, 2, 5]
Step 10: Page 3 already in cache. Cache: [1, 2, 5]
Step 11: Page 4 loaded. Cache: [2, 5, 4] (Page Fault)
Step 12: Page 5 already in cache. Cache: [2, 5, 4]
Total Page Faults: 7
The MRU algorithm replaces the page that has been accessed most recently.
Example:
Page Reference String: 1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4, 5
Cache Size: 3
Initial State:
Cache: []
Step 1: Page 1 loaded. Cache: [1] (Page Fault)
Step 2: Page 2 loaded. Cache: [1, 2] (Page Fault)
Step 3: Page 3 loaded. Cache: [1, 2, 3] (Page Fault)
Step 4: Page 4 loaded. Cache: [1, 2, 4] (Page Fault)
Step 5: Page 1 loaded. Cache: [2, 4, 1] (Page Fault)
Step 6: Page 2 loaded. Cache: [4, 1, 2] (Page Fault)
Step 7: Page 5 loaded. Cache: [1, 2, 5] (Page Fault)
Step 8: Page 1 already in cache. Cache: [1, 2, 5]
Step 9: Page 2 already in cache. Cache: [1, 2, 5]
Step 10: Page 3 loaded. Cache: [1, 5, 3] (Page Fault)
Step 11: Page 4 loaded. Cache: [5, 3, 4] (Page Fault)
Step 12: Page 5 already in cache. Cache: [5, 3, 4]
Total Page Faults: 8
The LIFO algorithm replaces the page that was most recently brought into memory.
Example:
Page Reference String: 1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4, 5
Cache Size: 3
Initial State:
Cache: []
Step 1: Page 1 loaded. Cache: [1] (Page Fault)
Step 2: Page 2 loaded. Cache: [1, 2] (Page Fault)
Step 3: Page 3 loaded. Cache: [1, 2, 3] (Page Fault)
Step 4: Page 4 loaded. Cache: [2, 3, 4] (Page Fault)
Step 5: Page 1 loaded. Cache: [3, 4, 1] (Page Fault)
Step 6: Page 2 loaded. Cache: [4, 1, 2] (Page Fault)
Step 7: Page 5 loaded. Cache: [1, 2, 5] (Page Fault)
Step 8: Page 1 already in cache. Cache: [1, 2, 5]
Step 9: Page 2 already in cache. Cache: [1, 2, 5]
Step 10: Page 3 already in cache. Cache: [1, 2, 5]
Step 11: Page 4 loaded. Cache: [2, 5, 4] (Page Fault)
Step 12: Page 5 already in cache. Cache: [2, 5, 4]
Total Page Faults: 8