作業系統概論的LRU排程演算法

2021-06-29 10:05:08 字數 753 閱讀 8224

要訪問的頁號是:7,0,1,2,0,3,0,4,2,3,0,3,2,1,2

把最先三頁裝入記憶體,然後lru排程情況如下:

7 0 1 2 2 3 0 4 2 2 0 3 3

0 1 2 0 3 0 4 2 3 0 3 2 1

1 2 0 3 0 4 2 3 0 3 2 1 2

總共產生7次缺頁中斷

(打豎一組的,這裡沒有框架打,所以就這樣了,將就一下)

問:哪些數字是如何用lru排列的?

lur是最近最少使用排程演算法。

剛開始三個記憶體單元都是空的,7,0,1直接裝入記憶體;

當2要裝入記憶體時,由於3個記憶體單元都已被暫用,必須先有乙個頁讓出記憶體,根據最近最少使用排程演算法的原則,最少使用的頁號為7(最長時間未使用),所以7出去,2進來,形成0,1,2的布局(2取代了7的位置,所以實際的順序是2,0,1,但是將其按照最長時間未使用的順序排列便於理解和後面的運算)

0頁面要裝入記憶體,但是其實它本來已經就在記憶體中,所以無需排程,記憶體中頁面不變,將其按照最長時間未使用的順序排列為1,2,0(實際順序還是2,0,1);

3要進入記憶體,將最長時間未用到的1替換出去,所以又變成了2,0,3(3替換原來1的位置,所以實際順序為2,0,3)

依次類推可得結果。

作業系統排程演算法

include include include include using namespace std const int maxnum 101 typedef struct information node struct node1 此結構體用於優先順序演算法的搶占式 int priority i...

作業系統排程演算法

在作業系統中存在多種排程演算法,其中有的排程演算法適用於作業排程,有的排程演算法適用於程序排程,有的排程演算法兩者都適用。下面介紹幾種常用的排程演算法。fcfs排程演算法是一種最簡單的排程演算法,該排程演算法既可以用於作業排程也可以用於程序排程。在作業排程中,演算法每次從後備作業佇列中選擇最先進入該...

作業系統 排程演算法

fcfs是最簡單的排程演算法,既可以用於作業排程,也可以用於程序排程,系統將按照作業到達的先後次序來進行排程。sjf演算法是以作業的長短來計算優先順序,作業越短,優先順序越高。作業的長短是以作業所要求的執行時間來衡量的。可以分別用於作業排程和程序排程。缺點 必須預知作業的執行時間 對長作業很不利,長...