要訪問的頁號是: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演算法是以作業的長短來計算優先順序,作業越短,優先順序越高。作業的長短是以作業所要求的執行時間來衡量的。可以分別用於作業排程和程序排程。缺點 必須預知作業的執行時間 對長作業很不利,長...