作業系統的程序排程也稱 dispatcher,其實簡單來說作業系統的程序排程不外乎人類社會的兩大原則:先來後到和優先順序, 乙個良好的任務排程演算法主要體現在以下幾個方面:
公平的保證每個程序得到合理的cpu時間
高效的使cpu保持忙碌狀態即總有程序在cpu上執行
使互動使用者的響應時間盡可能短
周轉時間使批處理使用者等待輸出的時間盡可能短
單位時間內處理的程序盡量多
排程方式基本分為以下兩大類:
剝奪式:剝奪式排程,也稱為「搶占式排程」。它的含義是:當乙個程序正在執行,處於它的乙個cpu週期時間,系統可基於某種原則,強行剝奪該程序正在占用的cpu,把cpu強行分配給另一程序。
剝奪式排程的剝奪原則是:
優先順序原則、程序優先原則、時間片原則、強制性剝奪、
剝奪式排程通常用在以下系統中:
實時系統、分時系統、需要及時響應的系統、給予優先服務的系統
非剝奪式:非剝奪式排程,也稱「非搶占式排程」。它的含義是:當乙個程序獲得cpu後,除非它因某種原因阻塞或者執行完畢,系統不能從該程序奪走cpu的控制權。即現行的程序完成它當前的cpu週期後,系統才重新排程。
常見的幾種程序排程演算法:
作業系統 程序排程演算法
cpu利用率 cpu忙碌的時間佔總時間的比例 利 用率 忙碌的 時間總時 間利用率 frac 利用率 總時 間忙碌的 時間 系統吞吐量 單位時間完成作業或程序的數量 吞 吐量 完成的 作業數量 總時 間吞吐量 frac 吞吐量 總時 間完成的 作業數量 周轉時間 完成作業需要花費的總時間 周 轉時 ...
作業系統 程序排程及其演算法
儲存處理機資訊 按某種演算法選取程序 把處理器分配給程序 排隊器。把就緒程序排成乙個或者幾個佇列 分派器。把程序從就緒佇列中取出來,然後把處理機給他 非搶占式 搶占式把就緒程序排成乙個佇列,把cpu分配給隊首程序,執行一定的時間,執行完畢就分配給另乙個新的隊首程序,每隔一定的時間就執行乙個程序 一旦...
程序排程演算法 作業系統筆記
1 先來先服務 first come first service,fcfs 排程演算法按照程序進入就緒佇列的先後順序選擇可以占用處理器的程序。這是一種不可搶占方式的排程演算法,優點是實現簡單,缺點是後來的程序等待cpu的時間較長。它現今主要用作輔助排程法 例如結合在優先順序排程演算法中使用,當有兩個...