批處理系統(tǒng)中采用的調(diào)度算法
重要指標(biāo)(吞吐量,周轉(zhuǎn)時間,CPU利用率,公平平衡)
非搶占式的先來先服務(wù)算法(FCFS):按照進(jìn)程就緒的先后順序使用CPU
特點:公平,實現(xiàn)簡單,但是長進(jìn)程后面的短進(jìn)程需要等待很長時間,不利于用戶體驗。
非搶占式的最短作業(yè)優(yōu)先(SJF):具有最短完成時間的進(jìn)程優(yōu)先執(zhí)行
最短剩余時間優(yōu)先(SRTN):SJF搶占式版本,即當(dāng)一個新就緒的進(jìn)程比當(dāng)前運(yùn)行進(jìn)程具有更短完成時間時,系統(tǒng)搶占當(dāng)前進(jìn)程,選擇新就緒的進(jìn)程執(zhí)行。
短作業(yè)優(yōu)先調(diào)度算法特點:改善短作業(yè)的周轉(zhuǎn)時間,但如果源源不斷有短任務(wù)到來,可能使長的任務(wù)長時間得不到運(yùn)行,產(chǎn)生饑餓現(xiàn)象。
最高相應(yīng)比優(yōu)先算法(HRRN):是一個綜合算法,調(diào)度時,首先計算每個進(jìn)程的響應(yīng)比R,之后總是選擇R最高的進(jìn)程執(zhí)行。
響應(yīng)比R=(等待時間+處理時間)/處理時間
交互系統(tǒng)中采用的調(diào)度算法
重要指標(biāo)(響應(yīng)時間,公平平衡)
時間片輪轉(zhuǎn)調(diào)度算法: 每個進(jìn)程被分配一個時間片,允許該進(jìn)程在該時間段運(yùn)行,如果在時間片結(jié)束時該進(jìn)程還在運(yùn)行,則剝奪CPU并分配給另一個進(jìn)程,如果該進(jìn)程在時間片結(jié)束前阻塞或結(jié)束,則CPU立即進(jìn)行切換。
當(dāng)時間片選擇太長,其降級為先來先服務(wù)算法,引起對短的交互請求響應(yīng)時間長
當(dāng)時間片選擇太短,會導(dǎo)致頻繁的進(jìn)程切換,浪費(fèi)CPU時間。
通常選擇為20ms~50ms.
對進(jìn)程表中不同進(jìn)程的大小差異較大的有利,而對進(jìn)程都是相同大小的不利。
虛擬輪轉(zhuǎn)法:主要基于時間片輪轉(zhuǎn)法進(jìn)行改進(jìn),解決在CPU調(diào)度中對于I/O密集型進(jìn)程的不友好。其設(shè)置了一個輔助隊列,對于I/O型進(jìn)程執(zhí)行完一個時間片之后,則進(jìn)入輔助隊列,CPU調(diào)度時總是先檢查輔助隊列是否為空,如果不為空總是優(yōu)先調(diào)度輔助隊列里的進(jìn)程,直到為空,才調(diào)度就緒隊列的進(jìn)程。
最高優(yōu)先級調(diào)度算法:選擇優(yōu)先級最高的進(jìn)程優(yōu)先執(zhí)行。
優(yōu)先級可以靜態(tài)不變,也可以動態(tài)調(diào)整
優(yōu)先數(shù)決定優(yōu)先級
就緒隊列可以按照優(yōu)先級組織
實現(xiàn)簡單,但不公平,可能導(dǎo)致優(yōu)先級低的進(jìn)程產(chǎn)生饑餓現(xiàn)象。
可能產(chǎn)生優(yōu)先級反轉(zhuǎn)問題(基于優(yōu)先級的搶占式算法),即一個低優(yōu)先級進(jìn)程持有一個高優(yōu)先級進(jìn)程所需要的資源,使得高優(yōu)先級進(jìn)程等待低優(yōu)先級進(jìn)程運(yùn)行。
多級反饋隊列調(diào)度算法:
設(shè)置多個就緒隊列,并為各個隊列賦予不同的優(yōu)先級。第一個隊列的優(yōu)先級最高,依次遞減優(yōu)先級。
對于各個隊列進(jìn)程執(zhí)行時間片的大小也不同,優(yōu)先級越高的隊列,分配到的時間片越少。
當(dāng)?shù)谝患夑犃袨榭諘r,再第二級隊列進(jìn)行調(diào)度,依次類推,各級隊列按照時間片輪轉(zhuǎn)方式進(jìn)行調(diào)度。
當(dāng)一個新進(jìn)程創(chuàng)建后,首先把它放入第一隊列的末尾。按照FCFS原則排隊等待調(diào)度。當(dāng)輪到該進(jìn)程執(zhí)行時,如它在該時間片完成,便可準(zhǔn)備撤離系統(tǒng),如果它在一個時間片結(jié)束時尚未完成,則調(diào)度程序便將該進(jìn)程轉(zhuǎn)入第二隊列的末尾,再同樣地按照FCFS原則等待調(diào)度執(zhí)行。依次類推。
各種調(diào)度算法比較:
-
cpu
+關(guān)注
關(guān)注
68文章
11041瀏覽量
216051 -
算法
+關(guān)注
關(guān)注
23文章
4700瀏覽量
94796
發(fā)布評論請先 登錄
如何解決Air780EPM開發(fā)中的調(diào)試難題?深度解析高效調(diào)試方法

集成電路開發(fā)中的器件調(diào)試環(huán)節(jié)

CPU怎么降頻 bios中如何把cpu調(diào)低頻率
算法加速的概念、意義、流程和應(yīng)用
是德示波器在音頻設(shè)備調(diào)試中的作用

【BearPi-Pico H3863星閃開發(fā)板體驗連載】LZO壓縮算法移植
UCD31xx器件中的CPU鎖定機(jī)制

常用的ADC濾波算法有哪些
CPU主要參數(shù)有哪些
CPU故障現(xiàn)象有哪些
ARM處理器和CPU有什么區(qū)別
Imagination CPU 系列研討會 | RISC-V 平臺的性能分析和調(diào)試

評論