3.1 一些基本概念:
一、處理機調(diào)度:
多道程序環(huán)境下,動態(tài)的把處理機分配給就緒隊列中的一個進程使之執(zhí)行墙歪。
ps:提高處理機的利用率、改善系統(tǒng)性能贝奇,很大程度上取決于處理機調(diào)度的性能虹菲。處理機調(diào)度便成為OS設(shè)計的中心問題之一。分配的任務(wù)由處理機調(diào)度程序完成掉瞳。
二届惋、作業(yè)進入系統(tǒng)駐留在外存的后備隊列上髓帽,再至調(diào)入內(nèi)存運行完畢,可能要經(jīng)歷下述三級調(diào)度:
(一)脑豹、高級調(diào)度(High Scheduling)
又稱作業(yè)調(diào)度、長程調(diào)度(Long-Term Scheduling)或接納調(diào)度(Admission Scheduling)
1.主要在早期批處理階段衡查,處理在外存上的作業(yè)瘩欺。
2.決定外存后備隊列中的哪些作業(yè)調(diào)入內(nèi)存;
3.為它們創(chuàng)建進程、分配必要的資源;
4.將新創(chuàng)建的進程排在就緒隊列上拌牲,準(zhǔn)備執(zhí)行俱饿。
* 管理的方面比較多。
5.在每次執(zhí)行作業(yè)調(diào)度時塌忽,都須作出兩個決定:
①.接納多少作業(yè)——取決于多道程序度拍埠。應(yīng)根據(jù)系統(tǒng)的規(guī)模和運行速度等情況綜合考慮。
②.接納哪些作業(yè)——取決于采用的調(diào)度算法土居。如先來先服務(wù)枣购,短作業(yè)優(yōu)先等
6.系統(tǒng)運行并不一定存在高級調(diào)度
①.批處理系統(tǒng):作業(yè)進入系統(tǒng)后先駐留外存,故需要有作業(yè)調(diào)度擦耀。
②.分時系統(tǒng):為及時響應(yīng)棉圈,作業(yè)由終端直接送入內(nèi)存,故不需作業(yè)調(diào)度眷蜓。
③.實時系統(tǒng)中分瘾,通常也不需作業(yè)調(diào)度。
(二)吁系、中級調(diào)度(Intermediate-Level Scheduling)
又稱交換調(diào)度或中程調(diào)度(Medium-Term Scheduling)引入目的:提高內(nèi)存利用率和系統(tǒng)吞吐量德召。根據(jù)條件將一些進程調(diào)出或再調(diào)入內(nèi)存。
(三)汽纤、低級調(diào)度(Low Level Scheduling)
也稱為進程調(diào)度上岗、微觀調(diào)度或短程調(diào)度(Short-Term Scheduling)。決定內(nèi)存就緒隊列中的哪個進程獲得處理機冒版,進行分配工作液茎。是最基本的一種調(diào)度,在三種基本OS中都有辞嗡。
1.進程調(diào)度方式:
①.非搶占方式(Non-preemptive Mode)
一旦處理機分配給某進程捆等,該進程一直執(zhí)行。決不允許其他進程搶占已分配運行進程的處理機续室。
②.搶占方式(Preemptive Mode)允許調(diào)度程序根據(jù)某種原則栋烤,暫停2.某個正在執(zhí)行的進程,將處理機重新分配給另一進程挺狰。
2.調(diào)度程序的任務(wù)職能:調(diào)度和分派明郭。
①.記錄系統(tǒng)中所有進程的有關(guān)情況
②. 確定分配處理機的原則
③. 分配處理機給進程
④. 從進程收回處理機
三买窟、進程調(diào)度方式比較:
四、三種調(diào)度的頻率和復(fù)雜度
(一)薯定、進程調(diào)度:運行頻率最高始绍,算法不能太復(fù)雜,以免占用太多的CPU時間话侄。分時系統(tǒng)通常10~100ms便進行一次亏推。
(二)、作業(yè)調(diào)度:一個作業(yè)運行完畢退出系統(tǒng)時即觸發(fā)重新調(diào)度一個新作業(yè)入內(nèi)存年堆,周期較長吞杭,大約幾分鐘一次。因而也允許作業(yè)調(diào)度算法花費較多的時間变丧。
(三)芽狗、中級調(diào)度:運行頻率基本上介于上述兩種調(diào)度之間。
五痒蓬、調(diào)度隊列模型
不論高級童擎、中級或者低級調(diào)度,都涉及到進程隊列谊却,由此形成了三類調(diào)度隊列模型柔昼。從這三種方式中體驗調(diào)度的過程。
(一)炎辨、僅有進程調(diào)度的調(diào)度隊列模型
(二)捕透、具有高級和低級調(diào)度的調(diào)度隊列模型
(三)、同時具有三級調(diào)度的調(diào)度隊列模型
3.2 調(diào)度算法
一碴萧、調(diào)度實質(zhì)
是一種資源分配乙嘀。不同的系統(tǒng)和系統(tǒng)目標(biāo),通常采用不同的調(diào)度算法
二破喻、先來先服務(wù)調(diào)度算法FCFS
一種最簡單的調(diào)度算法虎谢,按先后順序進行調(diào)度。既可用于作業(yè)調(diào)度曹质,也可用于進程調(diào)度婴噩。
(一)、按照作業(yè)提交羽德,或進程變?yōu)榫途w狀態(tài)的先后次序分派CPU几莽;
(二)、新作業(yè)只有當(dāng)當(dāng)前作業(yè)或進程執(zhí)行完或阻塞才獲得CPU運行
(三)宅静、被喚醒的作業(yè)或進程不立即恢復(fù)執(zhí)行章蚣,通常等到當(dāng)前作業(yè)或進程出讓CPU。(所以姨夹,默認(rèn)即是非搶占方式)