- 相關(guān)推薦
操作系統(tǒng)調(diào)度器的種類
進行調(diào)度工作的程序叫做調(diào)度器。操作系統(tǒng)調(diào)度器的種類都有哪些呢?下面小編為大家整理了操作系統(tǒng)調(diào)度器的種類,希望能幫到大家!
調(diào)度器是操作系統(tǒng)的一個模塊,它能夠選擇將被系統(tǒng)處理的下一個任務(wù),或執(zhí)行的下一個進程。操作系統(tǒng)可能會提供三種不同類型的調(diào)度器:長期調(diào)度器、中期調(diào)度器和短期調(diào)度器。這些名字表明了任務(wù)被執(zhí)行的頻率。
進程調(diào)度器
進程調(diào)度器是操作系統(tǒng)的一部分,決定了何時運行什么進程。它通常能夠暫停一個運行中的進程,將它放回到運行隊列當(dāng)中,并運行一個新進程,我們把這樣的調(diào)度器叫做搶占調(diào)度器。否則,它就是協(xié)同調(diào)度器。
長期調(diào)度器
長期調(diào)度器,決定了任務(wù)或進程是否會被就緒隊列(內(nèi)存中)所接納。當(dāng)一個運行程序的嘗試被做出后,長期調(diào)度器或允許,或是延遲將它作為當(dāng)前執(zhí)行的一個進程。因此,這種調(diào)度器掌控著能在系統(tǒng)上運行的進程。調(diào)度器同時還決定并發(fā)的程度:同時執(zhí)行程序的多少,在I/O密集型和CPU密集型進程之前做出劃分。
通常,大多數(shù)進程可以分為I/O密集型[2]和CPU密集型。I/O密集型程序?qū)⒋蠖鄶?shù)時間都花在了I/O操作而不是運算上,而CPU密集型程序正好相反,將大多數(shù)時間花在了運算上,而很少產(chǎn)生I/O操作。選出一個I/O密集型和CPU密集型程序的良好組合,對于長期調(diào)度器是非常重要的。否則,假如所有的程序都是CPU密集型的,那么I/O隊列將會幾乎永遠(yuǎn)都是空的,這樣就會導(dǎo)致一些設(shè)備從來沒被人用過,系統(tǒng)資源分配就是不均衡的。顯然,性能極佳的系統(tǒng)必然是CPU密集型和I/O密集型程序的組合。在現(xiàn)代操作系統(tǒng)中,這被用來保證實時進程能獲得足夠的CPU時間來完成任務(wù)。
長期調(diào)度對大型系統(tǒng),例如批處理系統(tǒng)、計算機集群、超級計算機和渲染場來說同樣重要。例如,在并發(fā)系統(tǒng)中,為了避免交互的多個進程,把時間都花在等待對方而產(chǎn)生阻塞,通常是需要進行協(xié)同調(diào)度的。在這種情況下,處理操作系統(tǒng)底層的調(diào)度器之外,還需要符合要求的額外調(diào)度程序來實現(xiàn)必要的功能。
中期調(diào)度器
中期調(diào)度器臨時將進程從內(nèi)存中去除,放入第二儲存設(shè)備(如硬盤)中,或亦而反之。這通常被稱為“換出”和“換入”(同時也被錯誤叫做“分頁入”和“分頁出”)。中期調(diào)度器可能會將那些一直不活躍的進程,優(yōu)先級低的進程,頻繁產(chǎn)生頁錯誤的進程,或者占用大量內(nèi)存的進程放入交換區(qū),為其它程序釋放內(nèi)存。當(dāng)系統(tǒng)內(nèi)存充足時,或者程序不再處于阻塞狀態(tài)時,調(diào)度器又會將內(nèi)存重新放入內(nèi)存中。
短期調(diào)度器
短期調(diào)度器(也就是CPU調(diào)度器)決定了在一個時鐘中斷、I/O中斷、系統(tǒng)調(diào)用其它種類的信號之后,應(yīng)該執(zhí)行(分配CPU)給哪些內(nèi)存中的進程?梢,短期調(diào)度器作出決定的頻率比長期或中期調(diào)度器更加頻繁 —— 每隔一段非常短的固定時間,調(diào)度器就將做出一次決定。這種調(diào)度器可以是搶占式的,能夠強行把一個在CPU運行中的程序中斷,然后分配給其它進程;也可以是非搶占式的,這類調(diào)度器無法強行把進程從CPU上中斷。
搶占式調(diào)度器的功能需要一個運行在內(nèi)核態(tài),能被中斷處理程序捕獲的可編程定時器才能實現(xiàn)。
調(diào)度規(guī)則
調(diào)度規(guī)則就是在同時占用資源的多方之間進行資源分配的算法。在路由器、操作系統(tǒng)、硬盤、打印機,大多數(shù)嵌入式系統(tǒng)等設(shè)備中,都能看到調(diào)度規(guī)則的應(yīng)用。
調(diào)度算法的主要目標(biāo),是使資源饑餓最小化,并保證使用資源多方的公平性。調(diào)度器需要處理在大量請求下如何分配資源的難題。調(diào)度算法種類很多,在這一章,將會介紹幾種常見算法。
在包交換的計算機網(wǎng)絡(luò)和其它統(tǒng)計多路復(fù)用領(lǐng)域,需要一個合適的調(diào)度算法而不是一個先到先得的數(shù)據(jù)包隊列。
【操作系統(tǒng)調(diào)度器的種類】相關(guān)文章:
操作系統(tǒng)的種類07-07
電腦操作系統(tǒng)有哪些種類08-16
電腦操作系統(tǒng)種類有哪些10-04