計算用LRU和FIFO算法計算“缺頁率”。
http://www.docin.com/p-102712160.html
http://wenku.baidu.com/view/4f3e9cf1f61fb7360b4c65fb.html
在一個虛擬存儲管理系統中,假如系統分配給一個作業的內存物理塊數是3,並且此作業的頁面使用順序為2,3,2,1,5,2,4,5,3,2,5,2,若采用FIFO和LRU置換算法,其產生的缺頁次數分別為 (5) 和 (6) 。
(5) A.6 6) A.6
B.7 B.7
C.8 C.8
D.9 D.9
【解析】本題主要考查虛擬內存的頁面調度算法。題目中當采用FIFO時,其頁面調度過程如下:
2 3 2 1 5 2 4 5 3 2 5 2
――――――――――――――
2 2 2 2 5 5 5 5 3 3 3 3
3 3 3 3 2 2 2 2 2 5 5
1 1 1 4 4 4 4 4 2
可知缺頁次數為9。同樣若采用LRU算法,可計算其缺頁次數為7。
【解答】
FIFO:(按順序置換)
1.剛開始內存並沒有這個作業,所以發生缺頁中斷一次。作業的2號頁進入內存。(1次缺頁中斷)
2.而頁3又不在內存,又發生缺頁中斷一次。作業頁1進入內存。(2次缺頁中斷)
3.頁2在內存,不發生缺頁中斷。
4.頁1不在內存,發生缺頁中斷(內存中為2、3、1)。 (3次缺頁中斷)
5.頁5不在內存,發生缺頁中斷,頁5進入內存,頁2出 (內存中為3、1、5)。 (4次缺頁中斷)
6. 接下來調入頁2,由於不在內存中(已被置換出來),發生缺頁中斷。 (內存中為1、5、2)(5次缺頁中斷)
7. 接下來調入頁4,由於不在內存中,發生缺頁中斷。 (內存中為5、2、4)(6次缺頁中斷)
8.頁5在內存,不發生缺頁中斷
9. 接下來調入頁3,由於不在內存中,發生缺頁中斷。 (內存中為2、4、3)(7次缺頁中斷)
10. 頁2在內存,不發生缺頁中斷
11. 接下來調入頁5,由於不在內存中,發生缺頁中斷。 (內存中為4、3、5)(8次缺頁中斷)
12. 接下來調入頁2,由於不在內存中,發生缺頁中斷。 (內存中為3、5、2)(9次缺頁中斷)
缺頁率:9/12
LRU:(最近最少用的置換出去)
1.剛開始內存並沒有這個作業,所以發生缺頁中斷一次。作業的2號頁進入內存。(1次缺頁中斷)
2.而頁3又不在內存,又發生缺頁中斷一次。作業頁1進入內存。(2次缺頁中斷)
3.頁2在內存,不發生缺頁中斷。
4.頁1不在內存,發生缺頁中斷(內存中為2、3、1)。 (3次缺頁中斷)
5.頁5不在內存,發生缺頁中斷,頁5進入內存,又因為頁3是最近最少用的,故置換出去 (內存中為2、1、5)。 (4次缺頁中斷)
6. 接下來調入頁2,在內存中,不發生缺頁中斷。 (把2放在后面,內存中為1、5、2、)
7. 接下來調入頁4,由於不在內存中,發生缺頁中斷,又因為頁1是最近最少用的,故置換出去 (內存中為5、2、4)(5次缺頁中斷)
8.頁5在內存,不發生缺頁中斷(把5放在后面,內存中為1、2、5)
9. 接下來調入頁3,由於不在內存中,發生缺頁中斷。 (內存中為2、5、3)(6次缺頁中斷)
10. 頁2在內存,不發生缺頁中斷(把2放在后面,內存中為1、5、2)
11. 接下來調入頁5,由於在內存中,不發生缺頁中斷。 (把5放在后面,內存中為1、2、5)(7次缺頁中斷)
12. 接下來調入頁2,在內存中,不發生缺頁中斷(把2放在后面,內存中為1、5、2)。
缺頁率:7/12
總結:行數3行代表內存物理塊數是3然后從左到右依次看下去,每一列代表當前內存中的作業情況,缺頁就表示當前內存中沒有要從外面調入作業就叫缺頁。FIFO算法是如有缺頁,將最先進入內存的置換出去
LRU算法則是如有缺頁,將最近最少用的置換出去