身為乙個計算機專業的學生,作業系統這門課可謂是重中之重,這不,期中考試又考了一波題,因為平時做題少,考的時候免不了暈頭轉向,
甚至乎舉步維艱,嘿嘿,下面我就對低階排程演算法(應該是個蠻重要的考點,計算題)的一些概念做一下記錄,總結一下,沒準期末用的上。
關於作業(job)的一些基本概念、公式:
作業周轉時間 = 作業完成時間點 - 作業到達系統時間點
帶權周轉時間 = 作業周轉時間/所需cpu時間(作業處理時間)= 響應比
//沒錯,帶權周轉時間和響應比的值是一模一樣的,只是概念不一樣,此外還有一轉化公式 :響應比=1+作業等待時間/作業處理時間
排程演算法:
1.先來先服務(fcfs)
最簡單的演算法,按照佇列先後次序挑選作業,先進入系統的作業將優先被挑選進入記憶體
2.最短作業優先演算法(sjf)
在佇列中挑選所需cpu時間最短的作業先行執行。但是,實現sjf演算法需要預先知道作業執行時間,否則排程就
沒有依據。
3.最短剩餘時間優先演算法(srtf)
剝奪式排程演算法,假設當前某程序/執行緒正在執行,如果有新程序/執行緒移入就緒佇列,若他需要的cpu執行
時間比當前執行程序/執行緒所需要的剩餘cpu時間還短,搶占式最短作業優先演算法將強行剝奪當前執行者的控制權,排程新程序/執行緒執行,這叫剩餘最短剩餘時間優先演算法。
4.最高響應比優先演算法(hrrf)
假設乙個作業佇列中有多個作業,首先執行最先進入系統的那個作業
然後計算其他剩餘作業的響應比,選擇響應比最高的那個執行
然後,再計算剩餘其他作業的響應比,選擇響應比最高的執行。。。
迴圈數次,直到佇列中作業執行完畢
作業系統 作業排程(高階排程)
乙個典型的作業可分成三個作業步 1.編譯 作業步 2.鏈結裝配 作業步 3.執行 作業步。在多道批處理系統中通常有上百個作業,為了管理和排程作業,系統為每個作業設定了乙個作業控制塊 jcb 它記錄該作業的有關資訊。不同系統的 jcb的組成內容有所區別。jcb 是作業在系統中存在的唯一標誌。作業進入系...
作業系統,作業排程演算法參考
作業系統,作業排程演算法參考 include include include include include include include using namespace std const int n 1000 struct task task n tp task n int num 程序數目 ...
作業系統排程演算法
include include include include using namespace std const int maxnum 101 typedef struct information node struct node1 此結構體用於優先順序演算法的搶占式 int priority i...