FIFO排程演算法和LRU演算法,頁面置換演算法FIFO LRU求缺頁中斷次數

時間 2022-03-06 01:00:08

1樓:匿名使用者

fifo:先進先出排程演算法

lru:最近最久未使用排程演算法

兩者都是快取排程演算法,經常用作記憶體的頁面置換演算法。

打乙個比方,幫助你理解。

你有很多的書,比如說10000本。

由於你的書實在太多了,你只能放在地下室裡面。

你看書的時候不會在地下室看書,而是在書房看書。

每次,你想看書都必須跑到地下室去找出來你想看的書,然後抱回來放到書桌上,之後才開始看。

還有就是,有一些書你會反覆的看,今天看了也許過幾天又要看。

總之,你自己是不知道你哪天會需要看哪本書的。

你的老師每天下課的時候會給你布置乙個書單,讓你晚上回去去看哪本書。

(假設你老師讓你看的書在你的地下室裡面都有)跑地下室當然是非常麻煩的,所以你希望你的經常看的那些書最好放在書桌上。

但是你的書房的書桌同時只能擺放10本書(這個是假設的啊)。

那麼,問題來了。

到底把哪些說留在書桌上最好呢?

這裡說的最好,就是說你盡量少的跑地下室去找書。

為了解決這個問題,人們發明了很多的演算法。

其中,比較常見的就是上面這兩種:fifo演算法和lru演算法。

fifo演算法

很簡單,我把書桌上的10本書按照放置時間先後堆放成一堆。

這裡的放置時間,就是說這本書在我的書桌上放了幾天了。

每次要看書的時候,我先在書桌上找,找到就直接可以讀了。

讀完之後放回原來的位置就可以,不打亂順序。

如果書桌上面沒有我要讀的書,就去地下室找。

找來之後,我就把書桌上放的時間最長的那本(也就是書堆裡面最下面的那本書)放回地下室。

然後把我今天需要看的這本書放在書堆的最上面。

lru演算法

也不難,我把書桌上的10本書按照閱讀時間先後堆放成一堆。

這裡的閱讀時間,就是說我最近一次讀這本書是幾天之前。

每次要看書的時候,我先在書桌上找,找到就直接可以讀了。

讀完之後放在書堆的最上面。

如果書桌上面沒有我要讀的書,就去地下室找。

找來之後,我就把書桌上最久沒有閱讀的那本

(也就是書堆裡面最下面的那本書)放回地下室。

然後把我今天需要看的這本書放在書堆的最上面。

上面這個比方,相信你可以看明白吧。

這裡的地下室對應記憶體,書桌對應快取,書對應頁面。

2樓:匿名使用者

記憶體管理的頁面置換演算法:

fifo 先進先出演算法

最先載入到記憶體的最先被置換出去

lru 最近自己少用演算法

最近最少被訪問的最先被置換出去

頁面置換演算法fifo 、lru求缺頁中斷次數

3樓:匿名使用者

(1) fifo

1  2 3  4  1 2  5  1 2  3  4  5

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

1  2 3  4  1 2  5  5 5  3  4  4

1 2  3  4 1  2  2 2  5  3  3                該行是怎麼算出來的?

1 2  3  4 1  1  1 2  5  5                該行是怎麼算出來的?

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

缺頁中斷次數=9

fifo是這樣的:3個記憶體塊構成乙個佇列,前3個頁面依次入隊(3個缺頁),記憶體中為3-2-1;

接著要訪問4號頁面,記憶體中沒有(1個缺頁),按fifo,1號頁面淘汰,記憶體中為4-3-2;

接著要訪問1號頁面,記憶體中沒有(1個缺頁),按fifo,2號頁面淘汰,記憶體中為1-4-3;

接著要訪問2號頁面,記憶體中沒有(1個缺頁),按fifo,3號頁面淘汰,記憶體中為2-1-4;

接著要訪問5號頁面,記憶體中沒有(1個缺頁),按fifo,4號頁面淘汰,記憶體中為5-2-1;

接著要訪問1號頁面,記憶體中有(命中),記憶體中為5-2-1;

接著要訪問2號頁面,記憶體中有(命中),記憶體中為5-2-1;

接著要訪問3號頁面,記憶體中沒有(1個缺頁),按fifo,1號頁面淘汰,記憶體中為3-5-2;

接著要訪問4號頁面,記憶體中沒有(1個缺頁),按fifo,2號頁面淘汰,記憶體中為4-3-5;

接著要訪問5號頁面,記憶體中有(命中),記憶體中為4-3-5;

缺頁中斷次數=9 (12次訪問,只有三次命中)

lru不同於fifo的地方是,fifo是先進先出,lru是最近最少用,如果1個頁面使用了,要調整記憶體中頁面的順序,如上面的fifo中:

接著要訪問1號頁面,記憶體中有(命中),記憶體中為5-2-1;

在lru中,則為

接著要訪問1號頁面,記憶體中有(命中),記憶體中為1-5-2;

用fifo和lru演算法,計算訪問過程中所發生的缺頁次數和缺頁率 10

4樓:綠夜

11144446666333322226

02222111222277771111

00333355511116666633

**** ***** ** ** **

缺頁次數為15 缺頁率為15/20=0.75以上是m為3時的fifo訪問

太多就不一一寫了

把方法告訴你:

lru演算法:最近最少使用,即把最後一次訪問時間距當前時間間隔最長的置換出去。

fifo演算法:先進先出演算法,想想佇列,把先進的置換出去。

只要訪問某頁面序列時發生置換,即為缺頁。

缺頁數/總的訪問數=缺頁率

這樣說 可以理解不?

5樓:

積分給我多些

var s,i,j,n:integer;

begin

readln(n);

s:=0;

for i:=1 to n do read(a[i]);

for j:=1 to n do s:=s+a[j];

writeln(n);

end.

作業系統題:頁面置換演算法 opt fifo lru

6樓:

fifo就是先進先出,可以想象成佇列

lru是最久未使用,當需要替換頁面的時候,向前面看,最久沒使用的那個被替換

opt是替換頁面的時候,優先替換後面最遲出現的。

不懂再問。。

7樓:小狗熊的巴巴

fifo就是先進先出的訪問方式。樓上回覆很好。自己再參考 !

gpa演算法和標準,GPA演算法 和標準

每個學校都有自己的gpa演算法,不見得都是北美標準演算法。你只管寄去成績單,他們會自己算。當然如果學校在錄取標準上指明了gpa分數線,但有沒有附加說明的話一般預設為北美演算法。最好不要改,成績又不算低。因為有小概率事件是學校會親自 或委託大使館 向學校教務處來函核查成績單。除非你神通廣大能把教務處那...

什麼是資料結構和演算法,資料結構和演算法有什麼關係?資料結構就是演算法嗎?

程式 資料結構 演算法 資料結構是相互之間存在的一種或多種特定關係的資料元素的集合。包括4類基本的結構 集合 線形結構 樹形結構 圖狀或網狀結構。通俗點就是資料的邏輯結構,比方說這些資料在記憶體中以什麼樣的結構存放。演算法實際是程式設計過程中完成一件事採用的方法,比方說現實生活中做數學題時兩個人都將...

數學建模演算法,數學建模和演算法是一個概念嗎 他們之間究竟是什麼關係?

設a點上班,b點下班 樓主說的有道理,考慮到a和b都在上午或下午的情況,需要修改一下公式 總上班時間為 max 0,min b,12 max a,9 max 0,min b,18 max a,13 其中 min max 函式表示兩變數之間取較小 大值你可以代入公式驗算一下。基本思路是分別計算上午和下...