處理機(jī)調(diào)度
對(duì)于進(jìn)程的執(zhí)行,操作系統(tǒng)必須做出三個(gè)決定:長程調(diào)度,中程調(diào)度以及短程調(diào)度。
對(duì)于短程調(diào)度的設(shè)計(jì)可面向用戶,也可面向系統(tǒng)。用戶主要關(guān)心響應(yīng)時(shí)間,而系統(tǒng)關(guān)系吞吐量和處理機(jī)利用率。
短程調(diào)度的算法有:先來先服務(wù)(FCFS),時(shí)間片輪轉(zhuǎn)法,最短進(jìn)程優(yōu)先,最短剩余時(shí)間優(yōu)先,最高響應(yīng)比優(yōu)先,多級(jí)反饋隊(duì)列等。調(diào)度算法的選擇取決于期望的性能及實(shí)際應(yīng)用。
在多處理機(jī)系統(tǒng)中。處理機(jī)可共享內(nèi)存,各調(diào)度算法的性能差別不大。
實(shí)時(shí)進(jìn)程和任務(wù)要與外部事件交互,要滿足一定的時(shí)限,實(shí)時(shí)操作系統(tǒng)就是要處理實(shí)時(shí)進(jìn)程,關(guān)鍵在于滿足時(shí)限。
============================================
在一個(gè)多道程序系統(tǒng)中,主存同時(shí)存在多個(gè)進(jìn)程。每個(gè)進(jìn)程在兩種狀態(tài)之間轉(zhuǎn)換:要么占用處理機(jī),要么等待I/O執(zhí)行或等等待其他事件發(fā)生。處理機(jī)忙于執(zhí)行一個(gè)進(jìn)程而其他進(jìn)程只有等待。
調(diào)度室多道程序的關(guān)鍵。事實(shí)上,有4種類型的調(diào)度。
名稱 | 作用 |
---|---|
長程調(diào)度 | 決定增加與執(zhí)行的進(jìn)程池 |
中程調(diào)度 | 決定增加部分或全部位于主存內(nèi)的進(jìn)程數(shù) |
短程調(diào)度 | 決定哪個(gè)就緒進(jìn)程被處理機(jī)執(zhí)行 |
I/O調(diào)度 | 決定哪個(gè)進(jìn)程完成的I/O請(qǐng)求被可用I/O設(shè)備處理 |
處理機(jī)調(diào)度的目的是使處理機(jī)在滿足系統(tǒng)要求的響應(yīng)時(shí)間,吞吐量和處理機(jī)利用率的前提下及時(shí)的運(yùn)行進(jìn)程。在許多系統(tǒng)中,調(diào)度被分成三種:長程,短程和中程調(diào)度。
當(dāng)產(chǎn)生一個(gè)新進(jìn)程時(shí),就執(zhí)行長程調(diào)度,將新進(jìn)程加到一組活動(dòng)進(jìn)中,中程調(diào)度室替換工的一部分,他將一個(gè)新進(jìn)程的部分或全部調(diào)入內(nèi)存以便執(zhí)行。短程調(diào)度真正決定哪一個(gè)就緒進(jìn)程將在下次執(zhí)行。
由于調(diào)度決定了哪些進(jìn)程將等待哪些進(jìn)程被執(zhí)行,所以它直接影響到系統(tǒng)的執(zhí)行效率。從根本上講,調(diào)度就是要使隊(duì)列延遲最小,并優(yōu)化系統(tǒng)的執(zhí)行效率。
調(diào)度算法
短程調(diào)度的主要目標(biāo)是以使系統(tǒng)性能得到優(yōu)化的方法來分配處理機(jī)時(shí)間。調(diào)度算法需要從各個(gè)方面來考慮。
調(diào)度標(biāo)準(zhǔn)有以下幾個(gè)方面:
- 響應(yīng)時(shí)間
- 輪轉(zhuǎn)時(shí)間,期限
- 預(yù)測性
- 吞吐量,處理機(jī)利用率
- 公平性,優(yōu)先權(quán),資源平衡。
調(diào)度策略
分為2類:
- 非搶占式。在這種情況下,只要進(jìn)程處于運(yùn)行態(tài),他就一直執(zhí)行直到終止或I/O阻塞或請(qǐng)求其他的OS服務(wù)。
- 搶占式。OS中斷當(dāng)前運(yùn)行進(jìn)程,將其便成就緒狀態(tài)。搶占式的決定可以在到達(dá)一個(gè)新進(jìn)程,將則色進(jìn)程變?yōu)榫途w狀態(tài)的中斷發(fā)生時(shí),或時(shí)鐘中斷期間進(jìn)行。
搶占策略比非搶占的開銷要大,但他哥所有進(jìn)程提供了更好的服務(wù)。因?yàn)樗乐沽艘粋€(gè)進(jìn)程獨(dú)占處理機(jī)時(shí)間過長。另外他可以通過有效的現(xiàn)場切換機(jī)制(盡量使用硬件)和一個(gè)大的主存以容納多的程序來降低其開銷。