FIFO、LRU、OPT頁面調度算法及樣例


網上非常多介紹3種頁面置換算法的樣例和過程是不對的, 本文依據《操作系統概念》第七版對三種算法做介紹,並給出正確的樣例以驗證算法。


一、FIFO先進先出頁面置換算法,創建一個FIFO隊列來管理內存中的全部頁。

在計算缺頁率的時候最好把每一次頁面調度的隊列寫出來,這樣不easy出錯。

以下舉例說明:

如果頁幀為3,引用串為:7,0,1,2,0。3,0,4,2


頁面走向:7。0。1,2。0,3。0,4,2。

               -----------------------------------------------

物理頁:   7,7。7,2,2,2,2,4。4,

                       0,0,0。0,3,3,3,2,

                             1。1,1。1,0,0,0。


FIFO隊列:7, 7。7,0。0,1,2,3。0,

                       0,0。1,1。2,3。0,4。

                             1。2,2,3,0,4,2,

首先7,0,1頁面依次進入頁幀,隊列變為7,0,1,下一個引用2要調入。則隊列頭部的7出隊。隊列變為0,1,2,物理頁內將7換成2。下一個引用0調入,已經存在頁幀中。隊列不變。下一個3調入,隊列頭的0出隊,3入隊列尾,隊列變為1,2,3。頁幀將0變為3。

后面同理依次進行。


二、LRU是Least Recently Used 最近最少使用算法 ( 待更新 )


三、OPT是最佳頁面替換算法(待更新)



以下舉一些樣例及答案,可依據上述算法驗證調度算法的正確性。


1、在一個請求分頁系統中,假如一個作業的頁面走向為:1,2,3。6,4,7。3。2,1,4,7,5,6,5,2,1。當分配給該作業的物理塊數為4時,分別採用最佳置換算法、LRU和FIFO頁面置換算法,計算訪問過程中所發生的缺頁次數和缺頁率。

答:最佳置換算法的情況例如以下表

頁面走向

1

2

3

6

4

7

3

2

1

4

7

5

6

5

2

1

物理頁0

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

物理頁1

 

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

物理頁2

 

 

3

3

3

3

3

3

3

4

4

5

5

5

5

5

物理頁3

 

 

 

6

4

7

7

7

7

7

7

7

6

6

6

6

缺頁否

Y

Y

Y

Y

Y

Y

N

N

N

Y

N

Y

Y

N

N

N

缺頁次數為9。缺頁率為9/16


LRU算法的情況例如以下表:

頁面走向

1

2

3

6

4

7

3

2

1

4

7

5

6

5

2

1

物理頁0

1

1

1

1

4

4

4

4

1

1

1

1

6

6

6

6

物理頁1

 

2

2

2

2

7

7

7

7

4

4

4

4

4

2

2

物理頁2

 

 

3

3

3

3

3

3

3

3

7

7

7

7

7

1

物理頁3

 

 

 

6

6

6

6

2

2

2

2

5

5

5

5

5

缺頁否

Y

Y

Y

Y

Y

Y

N

Y

Y

Y

Y

Y

Y

N

Y

Y

缺頁次數為14,缺頁率為14/16

FIFO算法的情況例如以下表:

頁面走向

1

2

3

6

4

7

3

2

1

4

7

5

6

5

2

1

物理頁0

1

1

1

1

4

4

4

4

4

4

4

5

5

5

5

5

物理頁1

 

2

2

2

2

7

7

7

7

7

7

7

6

6

6

6

物理頁2

 

 

3

3

3

3

3

2

2

2

2

2

2

2

2

2

物理頁3

 

 

 

6

6

6

6

6

1

1

1

1

1

1

1

1

缺頁否

Y

Y

Y

Y

Y

Y

N

Y

Y

N

N

Y

Y

N

N

N

缺頁次數為10,缺頁率為10/16


二、在一個請求分頁系統中,假如一個作業的頁面走向為:4,3,2,1,4,3,5,4,3,2,1,5。當分配給該作業的物理塊數M4,分別採用最佳置換算法、LRUFIFO頁面置換算法,計算訪問過程中所發生的缺頁次數和缺頁率。

答:最佳置換算法的情況例如以下表:

頁面走向

4

3

2

1

4

3

5

4

3

2

1

5

物理頁0

4

4

4

4

4

4

4

4

4

4

1

1

物理頁1

 

3

3

3

3

3

3

3

3

3

3

3

物理頁2

 

 

2

2

2

2

2

2

2

2

2

2

物理頁3

 

 

 

1

1

1

5

5

5

5

5

5

缺頁否

Y

Y

Y

Y

N

N

Y

N

N

N

Y

N

缺頁次數為6,缺頁率為6/12

LRU置換算法的情況例如以下表:

頁面走向

4

3

2

1

4

3

5

4

3

2

1

5

物理頁0

4

4

4

4

4

4

4

4

4

4

4

5

物理頁1

 

3

3

3

3

3

3

3

3

3

3

3

物理頁2

 

 

2

2

2

2

5

5

5

5

1

1

物理頁3

 

 

 

1

1

1

1

1

1

2

2

2

缺頁否

Y

Y

Y

Y

N

N

Y

N

N

Y

Y

Y

缺頁次數為8,缺頁率為8/12

FIFO算法的情況例如以下表:

頁面走向

4

3

2

1

4

3

5

4

3

2

1

5

物理頁0

4

4

4

4

4

4

5

5

5

5

1

1

物理頁1

 

3

3

3

3

3

3

4

4

4

4

5

物理頁2

 

 

2

2

2

2

2

2

3

3

3

3

物理頁3

 

 

 

1

1

1

1

1

1

2

2

2

缺頁否

Y

Y

Y

Y

N

N

Y

Y

Y

Y

Y

Y

缺頁次數為10,缺頁率為10/12





免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM