在現(xiàn)代計(jì)算機(jī)操作系統(tǒng)中,總是會(huì)保持多道程序環(huán)境。一個(gè)作業(yè)被提交后,通常經(jīng)過(guò)作業(yè)調(diào)度和進(jìn)程調(diào)度后,才能獲得處理機(jī)。有時(shí)為提高內(nèi)存利用率,還會(huì)設(shè)置中程調(diào)度。那我們先來(lái)了解一下處理機(jī)調(diào)度的層次吧。
高級(jí)調(diào)度,又稱作業(yè)調(diào)度,它的調(diào)度對(duì)象是作業(yè)。主要是根據(jù)某種算法,決定使外存上的哪幾個(gè)作業(yè)調(diào)入內(nèi)存,然后創(chuàng)建進(jìn)程、分配資源,等待處理機(jī)。高級(jí)調(diào)度一般不放入分時(shí)系統(tǒng)和實(shí)時(shí)系統(tǒng)。
低級(jí)調(diào)度,又稱進(jìn)程調(diào)度,主要對(duì)象是進(jìn)程。根據(jù)某種算法,決定就緒隊(duì)列上的哪個(gè)進(jìn)程獲得處理機(jī)。低級(jí)調(diào)度是最基本的一種調(diào)度,批處理系統(tǒng)、實(shí)時(shí)、分時(shí)系統(tǒng)中都必須配置。
中級(jí)調(diào)度,又稱內(nèi)存調(diào)度。主要是將暫時(shí)不能運(yùn)行的進(jìn)程調(diào)至外存等待,等他們舉辦運(yùn)行條件時(shí)在決定是否調(diào)入內(nèi)存。這里主要介紹處理機(jī)調(diào)度,中級(jí)調(diào)度會(huì)在后續(xù)介紹存儲(chǔ)器時(shí)詳細(xì)講解。
這三種調(diào)度中,進(jìn)程的運(yùn)行頻率最高,所以低級(jí)調(diào)度運(yùn)行最多、占時(shí)最少的。作業(yè)調(diào)度周期最長(zhǎng),基本上好幾分鐘一次。中程調(diào)度介于上述兩者之間。
操作系統(tǒng)的設(shè)計(jì)中,是要有明確的目標(biāo),而它們的目的也不一樣,處理機(jī)調(diào)度算法是為了提高資源利用率、保證各進(jìn)程之間的公平性和平衡性,還有必要時(shí)的策略強(qiáng)制執(zhí)行。批處理系統(tǒng)追求的是平均最低周轉(zhuǎn)時(shí)間、系統(tǒng)吞吐量、處理機(jī)利用率高。分時(shí)系統(tǒng)的首要目的是響應(yīng)時(shí)間快,用戶請(qǐng)求服務(wù)與系統(tǒng)響應(yīng)時(shí)間相適應(yīng)。實(shí)時(shí)系統(tǒng)的目標(biāo)是,保證任務(wù)開始執(zhí)行的最短時(shí)間和完成的最遲時(shí)間,系統(tǒng)中的進(jìn)程的可預(yù)測(cè)性。
接下來(lái)就詳細(xì)說(shuō)明一下作業(yè)調(diào)度和進(jìn)程調(diào)度。
作業(yè)作為一個(gè)比程序更大的概念,不僅包含了通常的程序和數(shù)據(jù),還應(yīng)配有一份作業(yè)說(shuō)明書。在批處理系統(tǒng)中,作業(yè)是基本單位。而我們?yōu)榱斯芾砗驼{(diào)度作業(yè),就設(shè)置了一個(gè)作業(yè)控制塊,作為作業(yè)在系統(tǒng)中存在的標(biāo)志,保存有系統(tǒng)對(duì)作業(yè)進(jìn)行管理和調(diào)度所需的全部信息。
作業(yè)運(yùn)行也分為三個(gè)階段和三種狀態(tài),通常需要經(jīng)歷收容、運(yùn)行和完成三個(gè)階段,所以也有后備狀態(tài)、運(yùn)行狀態(tài)、完成狀態(tài)。
作業(yè)調(diào)度的主要工作其實(shí)很簡(jiǎn)單,判斷并決定從后備隊(duì)列中選取多少作業(yè)進(jìn)入內(nèi)存,并根據(jù)系統(tǒng)的多道程序度進(jìn)行抉擇。還需要選擇接納哪些作業(yè),這取決于所采用的調(diào)度算法,比如常用的短作業(yè)優(yōu)先算法,還有響應(yīng)比高者優(yōu)先算法等,小編會(huì)在后續(xù)文章中詳細(xì)介紹。
進(jìn)程調(diào)度,它的主要任務(wù)有三個(gè):保存處理機(jī)的現(xiàn)場(chǎng)信息、按某種算法選取進(jìn)程、把處理器分配給進(jìn)程。為了實(shí)現(xiàn)進(jìn)程調(diào)度,在進(jìn)程調(diào)度機(jī)制中,具備了三個(gè)基本部分:排隊(duì)器、分配器、上下文切換器。而關(guān)于進(jìn)程調(diào)度的方式,也引入了搶占方式和非搶占方式加強(qiáng)控制。非搶占方式,把處理機(jī)分配給進(jìn)程后就只能等待進(jìn)程完成,及其不利于分時(shí)方式和實(shí)時(shí)方式,所以就引入了搶占方式,根據(jù)它的主要原則分為:優(yōu)先權(quán)、短進(jìn)程優(yōu)先和時(shí)間片原則。
這些大概就是操作系統(tǒng)調(diào)度的大體框架了,下一篇文章會(huì)詳細(xì)介紹調(diào)度算法的內(nèi)容。
聯(lián)系客服