名詞解釋:
吞吐量:系統每小時完成的作業數量
程序的分類
cpu密集型
i/o密集型:需要執行更多的此類程序保持cpu充分利用
程序排程發生的時間
建立新的程序後
程序退出過後
程序阻塞的時候
i/o中斷發生的時候
時鐘中斷:硬體的週期性中斷
可以在每個時鐘中斷或者每k個時鐘終端的時候,進行排程。根據如何處理時鐘中斷,分為兩大類搶占式排程演算法(必須要有可用的時鐘)
非搶占式排程演算法
排程演算法分類
批處理排程
應用場景:賬目處理、薪水處理等週期性的作業,通常都採用非搶占式的演算法。
非搶占式的先來先服務fcfs:程序按照請求cpu的順序使用cpu。缺點是cpu和i/o利用很低。
非搶占式的最短作業優先排程:當執行時間可以預知的演算法。
搶占式的最短剩餘時間優先:選擇剩餘執行時間最短的程序執行。
證明:假設有四個作業,執行時間分別為a、b、c、d。第乙個作業在時間a結束,第二個作業在a+b結束,第三個作業在a+b+c結束,第四個在a+b+c+d結束。平均周轉時間是(4a+3b+2c+d)/4,則可知a對平均值影響最大,故a應該是最短作業。互動式排程
應用場景:伺服器、個人計算機,通常採用搶占式排程演算法。
搶占式的輪轉排程:使用時間片,允許程序在時間片內執行。
時間片設定太短會導致過多的程序切換,降低cpu效率,太長會引起對短的互動請求響應時間變長,一般為20~50ms。優先順序排程:每個程序被賦予乙個優先順序,允許優先順序最高的可執行程序先執行。
多級佇列。設定較長的時間片,為最高優先順序設定1個時間片,下一級2個,再下乙個4個以此類推
最短程序優先:讓最短的作業先執行。
保證排程:向使用者做出明確的效能保證。
彩票排程:為程序提供各種資源的彩票,程序的得到的彩票越多,更可能被排程。
公平分享排程:無論乙個使用者有多少程序存在,每個使用者都會得到應有的cpu份額。
使得i/i密集型程序獲得較好服務的演算法:優先順序設定為1/f,f
實時排程
實時系統通常分為軟實時和硬實時。硬實時:必須滿足絕對的截止時間,軟實時:可以容忍偶爾錯失截止時間。題外話:執行緒排程
使用者級執行緒
核心級執行緒
程序排程演算法(程序排程策略)
程序排程演算法 排程演算法是指 根據系統的資源分配策略所規定的資源分配演算法。一 先來先服務和短作業 程序 優先排程演算法 1.先來先服務排程演算法。先來先服務 fcfs 排程演算法是一種最簡單的排程演算法,該演算法既可用於作業排程,也可用於程序排程。fcfs演算法比較有利於長作業 程序 而不利於短...
程序排程三 程序排程介紹
一 程序排程介紹 1 程序排程的產生 程序從使用資源方面可以分為如下兩類,不管是i o還是cpu受限類的程序,cpu都希望再盡可能短的時間 完成更多的工作,但另一方面,又希望盡可能的減少資源 i o或cpu 的消耗,這兩則之間存在矛盾,所以程序 的排程管理就是來協調兩者之間的衝突。型別別稱 描述示例...
程序排程 模擬程序排程的過程
通過這次實驗,理解程序排程的過程,進一步掌握程序狀態的轉變 程序排程的策略,進一步體會多道程式併發執行的特點,並分析具體的排程演算法的特點,掌握對系統效能的評價方法。編寫程式模擬實現程序的輪轉法排程過程,模擬程式只對pcb進行相應的排程模擬操作,不需要實際程式。假設初始狀態為 有n個程序處於就緒狀態...