##### ###### ##### ### # # ### # # ###### ## ## ## ## ## ## ## # # # # # ## ##### #### ##### # # # # # # # #### ## # ## ## ## ## # # # # # ## ## # ###### ## ### # ### # ######
##### ###### ##### ### # # ### # # ###### ## ## ## ## ## ## ## # # # # # ## ##### #### ##### # # # # # # # #### ## # ## ## ## ## # # # # # ## ## # ###### ## ### # ### # ######
##### ###### ##### ### # # ### # # ###### ## ## ## ## ## ## ## # # # # # ## ##### #### ##### # # # # # # # #### ## # ## ## ## ## # # # # # ## ## # ###### ## ### # ### # ######
6 3 1 2 3 4 1 2
6
7 3 1 2 3 1 2 3 4
4
8 2 1 2 1 3 2 3 1 2
6
Given a cache of capacity that uses the Least Recently Used (LRU) eviction policy, and a sequence of page references, count the total number of cache misses.
When a page is requested:
Return the total number of misses.
Cache capacity . Page 1: miss (cache: [1]). Page 2: miss (cache: [1,2]). Page 3: miss (cache: [1,2,3]). Page 4: miss, evict LRU page 1 (cache: [2,3,4]). Page 1: miss, evict LRU page 2 (cache: [3,4,1]). Page 2: miss, evict LRU page 3 (cache: [4,1,2]). Total misses: 6.
Cache capacity . Pages 1, 2, 3 cause three misses (cache: [1,2,3]). Page 1: hit, move to MRU (cache: [2,3,1]). Page 2: hit, move to MRU (cache: [3,1,2]). Page 3: hit, move to MRU (cache: [1,2,3]). Page 4: miss, evict LRU page 1 (cache: [2,3,4]). Total misses: 4.
Cache capacity . Page 1: miss (cache: [1]). Page 2: miss (cache: [1,2]). Page 1: hit, move to MRU (cache: [2,1]). Page 3: miss, evict LRU page 2 (cache: [1,3]). Page 2: miss, evict LRU page 1 (cache: [3,2]). Page 3: hit, move to MRU (cache: [2,3]). Page 1: miss, evict LRU page 2 (cache: [3,1]). Page 2: miss, evict LRU page 3 (cache: [1,2]). Total misses: 6.