以上這幾種演算法主要關心對使用者的公平性、平均周轉時間、平均等待時間等評價系統整體效能的指標,但是不關心「響應時間」,也並不區分任務的緊急程度,因此對於使用者來說,互動性是很糟糕的。所示這些演算法一般適用於早期的批處理系統,當然,fcfs演算法也常結合其他的演算法來使用,在現在也扮演著很重要角色。
就緒佇列未必只有乙個,可以按照不同的優先順序來組織。另外,也可以把優先順序高的程序排在更靠近隊頭的位置。
根據優先順序是否可以動態改變,可將優先順序分為靜態優先順序和動態優先順序兩種。
靜態優先順序:建立程序時就確定,之後一直不變
動態優先順序:建立程序的時候有個初始值,之後會根據情況動態地調整優先順序。
通常:系統程序優先順序高於使用者程序;前台程序優先順序高於後台程序,作業系統更偏好io型程序(或io繁忙型程序)
注:與io程序相對的是計算型程序(或稱cpu繁忙型程序)
常見的幾種程序排程演算法
程序排程概念 作業系統必須為多個,嗎程序可能有競爭的請求分配計算機資源。對處理器而言,可分配的資源是在處理器上的執行時間,分配途徑是排程。排程功能必須設計成可以滿足多個目標,包括公平 任何程序都不會餓死 有效地使用處理器時間和低開銷。此外,排程功能可能需要為某些程序的啟動或結束考慮不同的優先順序和實...
linux 幾種常見的程序排程演算法
先來先服務 fcfs 排程演算法是一種最簡單的排程演算法,該演算法既可用於作業排程,也可用於程序排程。當在作業排程中採用該演算法時,每次排程都是從後備作業佇列中選擇乙個或多個最先進入該佇列的作業,將它們調入記憶體,為它們分配資源 建立程序,然後放入就緒佇列。在程序排程中採用fcfs演算法時,則每次排...
Linux 幾種常見的程序排程
先來先服務 fcfs 排程演算法即可適用於作業排程,也可以適用於程序排程。當此演算法在作業排程中時,它每次選取乙個或多個最先進入該佇列的作業,將它們調入記憶體,分配資源,建立程序,然後放入就緒佇列。在程序排程中,就是每次選取就緒佇列中最先進入該佇列的程序,為之分配處理機,使它投入執行。只有該程序執行...