《作業系統》中的演算法

2021-07-29 12:44:31 字數 2884 閱讀 9684

一、【第二章:處理器排程】

1、作業排程演算法:p28

(1)先來先服務演算法:

※ 解釋:按照作業進入輸入井的先後次序來挑選作業,先進入的作業:這裡的作業是指滿足必要條件的作業)優先被挑選。

※ 評價:有可能使後邊的許多小作業(計算時間短的作業)周轉時間很長,從而增加平均周轉時間,降低了系統的吞吐能力,簡而言之可能使小作業長時間等待

(2)計算時間短的作業優先演算法:

※ 解釋:作業排程時依據在輸入井中的作業提出的計算時間為標準,優先選擇計算時間短且資源能得到滿足的作業。

※ 評價:能降低作業的平均周轉時間,從而提高系統的吞吐能力,但有可能使後邊計算時間長的作業等待時間過長

(3)響應比高者優先演算法:

※ 解釋:對輸入井中資源能得到滿足的所有作業計算出它們的響應比,從中選擇響應比最高者優先裝入主儲存器。

※ 評價:綜合考慮了等待時間和計算時間;雖然計算時間是分母,有利於小作業(即:計算時間短的作業容易得到較高的響應比,能被優先選中);但由於等待時間是分子,所以使得乙個大作業在等待了相當長的時間後,也能獲得較高的響應比而被選中,不會因為源源不斷地有小作業進入輸入井而使大作業無限制的被推遲

(4)優先順序排程演算法:

※ 解釋:先為每個作業確定乙個優先順序,優先順序高的作業優先被選取,當幾個作業有相同優先順序時,可對這些作業再按照先來先服務原則進行排程。

※ 確定優先順序:既照顧使用者需求,也考慮系統效率

(5)均衡排程演算法:

※ 解釋:根據作業對資源的要求進行分類,作業排程輪流從不同類的作業中去挑選作業,盡可能地使得使用不同資源的作業同時執行

※ 評價:可使系統的資源都在被使用,減少作業等待使用同類資源的時間,從而可縮短作業的平均周轉時間

2、程序排程演算法:p31

(1)先來先服務排程演算法:

※ 按照程序進入就緒對列的先後次序來選擇可占用處理器的程序

(2)最高優先順序排程演算法:

※ 對每乙個程序給出乙個優先順序,程序排程總是讓當時具有最高優先順序的程序先使用處理器。

※ 當乙個高優先順序的程序占用處理器後,有兩種方式對待:

a、非搶占式

b、搶占式

(3)時間片輪轉排程演算法:

※ 解釋:把就緒程序按就緒的先後次序排成對列,排程時總是選擇就緒對列中的第乙個程序,讓它占用處理器,但規定它一次連續占用處理器的時間不能超過預定的時間片(時間片:指允許程序一次占用處理器的最長時間)

二、【可變分割槽儲存管理的主存分配演算法:p46】

1、最先適應分配演算法:

2、最優適應分配演算法:

3、最壞適應分配演算法:

三、【頁式虛擬儲存管理:頁面排程演算法p58】

1、先進先出排程演算法(fifo):

※ 解釋:總是淘汰最先進入主儲存器的那一頁,即選擇在記憶體中駐留時間最長的頁予以淘汰。

舉例:下面是2023年10月卷子的52題的第(1)問:該過程中產生的缺頁中斷次數是15次

注:這裡的15是最後一行被淘汰的11次加上粉色部分的頁面都是第一次用到會產生4次中斷,所以,15 = 11 + 4

小技巧:做這種題時有兩種情況,第一種:如果題後邊的括號裡有說明(所有記憶體開始時都是空的,凡是第一次用到的頁面都會產生一次缺頁中斷)那缺頁次數就是最後一行被淘汰的頁加上第一次用到的幾次頁面,即15 = 11 + 4 ;第二種:如果題後邊沒有說明那缺頁次數直接是最後一行被淘汰的頁,即11

2、最近最久未使用排程演算法(lru):

※ 解釋:如果過去一段時間裡沒有被訪問過得頁,在最近的將來也可能暫時不會被訪問,所以需要裝入新頁時,應選擇在最近一段時間裡最久沒有被使用過得頁調出。

※ 舉例:下面是2023年10月卷子的52題的第(2)問:該過程中產生的缺頁中斷次數是12次,和上面的先進先出的例子一樣 12 = 8 + 4

3、最近最不經常使用排程演算法(lfu):

※ 解釋:在過去一段時間裡被范文次數多的頁可能是經常需要用的頁,所以應調出被訪問次數少的頁

四、【磁碟的驅動調動--移臂排程演算法:p94】

1、先來先服務演算法:

※ 解釋:只考慮請求訪問者的先後次序,不考慮它們要訪問的物理位置

2、最短尋找時間優先演算法:

※ 解釋:總是讓尋找時間最短的那個請求訪問者先執行,而不管訪問者到來的先後次序。

※ 評價:靠近當前移動臂位置的請求訪問者將優先執行,降低了先來先服務演算法中移動臂大幅度來回移動所花費的時間。

3、電梯排程演算法:

※ 解釋:總是從移動臂當前位置開始沿著臂的移動方向去選擇離當前移動臂最近的那個柱面的訪問者。

4、資訊的優化分布:

※ 解釋:把幾個邏輯記錄在磁軌上的位置重新安排一下,使這幾個邏輯記錄安排最優分布,即當讀出乙個記錄並處理後,讀寫磁頭正好處於順序的下乙個記錄位置,因而就不必花費等待延遲時間,而可立即讀出該記錄。

※ 評價:記錄的優化分布有利於減少延遲時間,從而縮短了輸入輸出操作的時間,所以對於一些能預知處理要求的資訊,採用優化分布可以提高系統的效率

未完待補充!

作業系統中排程演算法

一 磁碟排程主要思想 裝置的動態分配演算法與程序排程相似,也是基於一定的分配策略的。常用的分配策略有先請求先分配 優先順序高者先分配等策略。在多道程式系統中,低效率通常是由於磁碟類旋轉裝置使用不當造成的。作業系統中,對磁碟的訪問要求來自多方面,常常需要排隊。這時,對眾多的訪問要求按一定的次序響應,會...

作業系統 中

1.什麼是虛擬記憶體?2.作業系統是如何管理虛擬位址與實體地址之間的關係?記憶體分頁 固定大小的頁 頁號 頁內偏移量。將虛擬記憶體和物理記憶體切成乙個個固定尺寸的大小,通過乙個中間值 頁表 來對應,每乙個頁表有固定數量的 頁表項 每乙個程序對應乙個頁表,所以每乙個頁表都是 固定的 大小,linux佔...

作業系統的排程演算法

1.先來先服務 fcfs 2.短作業優先 sjf 非搶占式 3.最短剩餘時間優先 搶占式的短作業優先 4.輪轉法 rr,強佔式 5.多級反饋佇列 多級 假設為n級 反饋佇列排程演算法可以如下原理 1 設有n個佇列 q1,q2.qn 其中各個佇列對於處理機的優先順序是不一樣的,也就是說位於各個佇列中的...