立即搶占的多級(jí)反饋隊(duì)列調(diào)度算法 多級(jí)反饋隊(duì)列調(diào)度算法的優(yōu)點(diǎn)?
多級(jí)反饋隊(duì)列調(diào)度算法的優(yōu)點(diǎn)?多級(jí)反饋隊(duì)列調(diào)度算法是一種性能良好的低級(jí)作業(yè)調(diào)度策略,能夠滿(mǎn)足各種用戶(hù)的需求。對(duì)于短時(shí)間的分時(shí)交互作業(yè),系統(tǒng)通常能在第一個(gè)隊(duì)列(高優(yōu)先級(jí)隊(duì)列)指定的時(shí)間片內(nèi)完成工作,使終端
多級(jí)反饋隊(duì)列調(diào)度算法的優(yōu)點(diǎn)?
多級(jí)反饋隊(duì)列調(diào)度算法是一種性能良好的低級(jí)作業(yè)調(diào)度策略,能夠滿(mǎn)足各種用戶(hù)的需求。對(duì)于短時(shí)間的分時(shí)交互作業(yè),系統(tǒng)通常能在第一個(gè)隊(duì)列(高優(yōu)先級(jí)隊(duì)列)指定的時(shí)間片內(nèi)完成工作,使終端用戶(hù)滿(mǎn)意;對(duì)于短批量作業(yè),通常只需要在第一個(gè)隊(duì)列或第一個(gè)隊(duì)列和第二個(gè)隊(duì)列(中優(yōu)先級(jí)隊(duì)列)中執(zhí)行一個(gè)時(shí)間片即可完成工作,周轉(zhuǎn)時(shí)間仍然很短;對(duì)于長(zhǎng)批量作業(yè),需要在第一個(gè)隊(duì)列或第二個(gè)隊(duì)列(中優(yōu)先級(jí)隊(duì)列)批作業(yè)中執(zhí)行一個(gè)時(shí)間片,這將是在第一、第二個(gè)隊(duì)列中,每個(gè)隊(duì)列都要得到時(shí)間片并運(yùn)行,永遠(yuǎn)不會(huì)有任何處理。本系統(tǒng)模擬了多級(jí)反饋隊(duì)列調(diào)度算法及其實(shí)現(xiàn)
因?yàn)殛?duì)列是java服務(wù)器程序常用的概念,多線(xiàn)程并發(fā)訪問(wèn)時(shí)通常涉及數(shù)據(jù)同步問(wèn)題。過(guò)去遇到這樣的問(wèn)題,執(zhí)行起來(lái)很麻煩。幸運(yùn)的是,sun的Java實(shí)現(xiàn)從1.5引入了一個(gè)非常有用的包java.util.concurrent文件對(duì)于類(lèi)似的問(wèn)題有一個(gè)更好的實(shí)現(xiàn),以后不用費(fèi)心去寫(xiě)一大塊代碼(也可能隱藏很多bug)。
因?yàn)樵谀硞€(gè)操作系統(tǒng)中,進(jìn)程調(diào)度采用多級(jí)反饋隊(duì)列調(diào)度算法。建立了三級(jí)反饋隊(duì)列調(diào)度算法。這三個(gè)隊(duì)列分別是I、II和III,對(duì)應(yīng)的時(shí)間片是2、4和8。有四個(gè)進(jìn)程a、B、C和D,到達(dá)時(shí)間分別為0、5、7和12,執(zhí)行時(shí)間分別為7、4、13和9。請(qǐng)寫(xiě)出整個(gè)進(jìn)程調(diào)度過(guò)程,包括每個(gè)時(shí)間段、執(zhí)行的進(jìn)程、執(zhí)行后的進(jìn)程狀態(tài)以及每個(gè)隊(duì)列中進(jìn)程的變化。
為什么說(shuō)多級(jí)反饋隊(duì)列調(diào)度算法能較好的滿(mǎn)足各方面用戶(hù)的需要?
非搶占式優(yōu)先級(jí)算法原理:為了處理緊急任務(wù),使其在進(jìn)入系統(tǒng)后獲得優(yōu)先級(jí),引入了最高優(yōu)先級(jí)優(yōu)先(FPF)調(diào)度算法。它可以分為兩類(lèi):(1)非搶占式優(yōu)先級(jí)調(diào)度算法;(2)搶占式優(yōu)先級(jí)調(diào)度算法。1非搶占式優(yōu)先級(jí)算法:一旦系統(tǒng)將處理器分配給就緒隊(duì)列中優(yōu)先級(jí)最高的進(jìn)程,該進(jìn)程將繼續(xù)執(zhí)行,直到完成。2搶占式優(yōu)先級(jí)調(diào)度算法:系統(tǒng)還將處理器分配給優(yōu)先級(jí)最高的進(jìn)程執(zhí)行。但在執(zhí)行過(guò)程中,只要出現(xiàn)另一個(gè)優(yōu)先級(jí)更高的進(jìn)程,進(jìn)程調(diào)度器就會(huì)立即停止當(dāng)前進(jìn)程(優(yōu)先級(jí)最高的原始進(jìn)程)的執(zhí)行,并將處理器重新分配給優(yōu)先級(jí)最高的新進(jìn)程。
什么是非搶占優(yōu)先算法?
多級(jí)反饋隊(duì)列調(diào)度算法是一種性能良好的低級(jí)作業(yè)調(diào)度策略,能夠滿(mǎn)足各類(lèi)用戶(hù)的需求。對(duì)于短時(shí)間的分時(shí)交互作業(yè),系統(tǒng)通常能在第一個(gè)隊(duì)列(高優(yōu)先級(jí)隊(duì)列)指定的時(shí)間片內(nèi)完成工作,使終端用戶(hù)滿(mǎn)意;對(duì)于短批量作業(yè),通常只需要在第一個(gè)隊(duì)列或第一個(gè)隊(duì)列和第二個(gè)隊(duì)列(中優(yōu)先級(jí)隊(duì)列)中執(zhí)行一個(gè)時(shí)間片即可完成工作,周轉(zhuǎn)時(shí)間仍然很短;對(duì)于長(zhǎng)批量作業(yè),需要在第一個(gè)隊(duì)列或第二個(gè)隊(duì)列(中優(yōu)先級(jí)隊(duì)列)批作業(yè)中執(zhí)行一個(gè)時(shí)間片,這將是在第一、第二個(gè)隊(duì)列中,每個(gè)隊(duì)列都要得到時(shí)間片并運(yùn)行,永遠(yuǎn)不會(huì)有任何處理。該系統(tǒng)模擬了多級(jí)反饋隊(duì)列調(diào)度算法及其實(shí)現(xiàn)