1. 程式人生 > >先來先服務和短作業優先演算法

先來先服務和短作業優先演算法

先來先服務演算法(FCFS)

FCFS是最簡單的排程演算法,既可以用作作業排程,也可以用作程序排程

這種演算法優先考慮系統中等待時間最長的作業(程序),而不管作業所需執行時間長短,

做法是從後備佇列中選擇幾個最先進入該佇列的作業,將它們調入記憶體,為它們分配資源和建立程序,然後放入就緒佇列

程序排程中使用此演算法時,每次都從就緒的程序佇列中選擇一個最先進入該佇列的程序,為之分配處理機,使之投入執行,該程序會一直執行到完成或者因發生某事件而阻塞後,程序排程程式才會把處理機分配給其他程序

短作業優先演算法(SJF)

由於在實際情況中短作業(程序)所佔比例很大,為了讓它們比長作業優先執行,就有了此演算法

SJF顧名思義以作業長短來確定優先順序,作業越短優先順序越高,作業的長短用作業所需的執行時間來衡量,此演算法一樣也可以用做程序排程,它將從外存的作業後備佇列中選擇若干個估計執行時間最短的作業,優先將它們調入記憶體執行