18. 某電腦系統支援分頁虛擬記憶體,目前記憶體有4個分頁框(page frames),若採用最近較少使
用(Least-Recently-Used)分頁替換演算法,請問下列頁碼參考之串列,總共會發生多少次分頁
錯誤(page faults)?串列[1, 2, 3, 4, 2, 1, 5, 6, 2, 1, 2, 3, 7, 6, 3, 2, 1, 2, 3, 6]
(A) 7
(B) 8
(C) 10
(D) 12
答案:登入後查看
統計: A(167), B(185), C(704), D(121), E(0) #2516620
統計: A(167), B(185), C(704), D(121), E(0) #2516620
詳解 (共 6 筆)
#4516674
有4個分頁框 所以先塞 1、2、3、4,接下來的2和1都有,再下來5、6沒有,所以用最久沒用到3、4替換。
再下來碰到沒有的3,用最久沒用到5替換
再下來碰到沒有的7,用最久沒用到6替換
再下來碰到沒有的6,用最久沒用到1替換
最後碰到沒有的1,用最久沒用到7替換
| 2 | |||
| 6 | |||
| 3 | |||
| 1 | |||
所以總共替換6次,加上最先開始時插入1、2、3、4的4次,總共10次
35
3
#5533617

Least-Recently-Used (LRU) 演算法 秘訣 : 往前找,最遠(久)沒使用的來替換
範例 - 第7步 - 欲插入 5 ,已經知道目前的frame是1 2 3 4 ,所以從上面串列的 5 往前找
3 4 2 1 5 發現 3 是最久沒用的,就把他替換掉。
20
0
#5967158
有v代表一次,順序是由上至下
1 v
21 v
321 v
4321 v
2431
1243
5124 v
6512 v
2651
1265
2165
3216 v
7321 v
6732 v
3672
2367
1236 v
2136
3216
6321
2
0