1. 程式人生 > >[作業系統]最佳置換演算法和先進先出置換演算法

[作業系統]最佳置換演算法和先進先出置換演算法

  4.7.1 最佳置換演算法和先進先出置換演算法

  1. 最佳(Optimal)置換演算法

  最佳置換演算法是由Belady於1966年提出的一種理論上的演算法。其所選擇的被淘汰頁面,將是以後永不使用的,或許是在最長(未來)時間內不再被訪問的頁面。採用最佳置換演算法,通常可保證獲得最低的缺頁率。

  假定系統為某程序分配了三個物理塊,並考慮有以下的頁面號引用串:

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

  程序執行時, 先將7,0,1三個頁面裝入記憶體。以後,當程序要訪問頁面2時, 將會產生缺頁中斷。此時OS根據最佳置換演算法,將選擇頁面7予以淘汰。

  2. 先進先出(FIFO)頁面置換

演算法

      該演算法總是淘汰最先進入主存的頁面,即選擇在主存中駐留時間最長的頁面予以淘汰。