售前電話
135-3656-7657
售前電話 : 135-3656-7657
DMS-100系統(tǒng)的操作系統(tǒng)核心中用于進(jìn)程調(diào)度的程序稱為調(diào)度器(Scheduler).在以下情況下,將進(jìn)入調(diào)度器:
①正在運行的進(jìn)程將自身掛起
正在運行的進(jìn)程如果要等待消息的到來,等待某種資源的分配,等待訪問共享數(shù)據(jù)區(qū),或者需要定時喚醒,可以將PCB編入郵箱隊列、標(biāo)志隊列、號志隊列或定時隊列。關(guān)于郵箱(Mailbox).標(biāo)志(Flag)、號志(Semaphore)等概念已在本章第三節(jié)中述及,被用于進(jìn)程的通信與同步。
②較高級別的進(jìn)程被喚醒
如果某一進(jìn)程被疏醒,其優(yōu)先級高于正在執(zhí)行的進(jìn)程,就進(jìn)入調(diào)度器按調(diào)度算法進(jìn)行調(diào)度。正在執(zhí)行的進(jìn)程稱為被“占入”而暫停執(zhí)行,編入對應(yīng)的調(diào)度類別的就緒隊列之首,時間片所剩余的時間保存在PCB中。而被喚醒的進(jìn)程則從等待隊列中取出,編入對應(yīng)的調(diào)度類別的就緒隊列之尾,PCB中Procstatus(進(jìn)程狀態(tài))應(yīng)改為ready(就緒),并給予該進(jìn)程一新的時間片。
例如,一個正在執(zhí)行中的進(jìn)程發(fā)送消息到另一進(jìn)程的郵箱,另一進(jìn)程正在郵箱上等待這一消息并具有較高的優(yōu)先級(即調(diào)度類別),應(yīng)在執(zhí)行有關(guān)操作后進(jìn)入調(diào)度器。如果被喚醒的進(jìn)程的級別并不高于正在執(zhí)行的進(jìn)程,則發(fā)送消息的進(jìn)程繼續(xù)執(zhí)行,而不進(jìn)入調(diào)度器。還應(yīng)注意的是,進(jìn)入調(diào)度器后并不一定立即調(diào)度被喚醒的進(jìn)程。
①正在運行的進(jìn)程的時間片用完
正在運行的行中的進(jìn)程由于以下各種原因,會讓出處理機(jī)資源:
(a)進(jìn)程進(jìn)入等待狀態(tài)
進(jìn)v程收到一個消息而被調(diào)度執(zhí)行時,按FMM工作方式完成應(yīng)有的動作并進(jìn)行狀態(tài)轉(zhuǎn)移,從而要等待下一個消息的到來,也就是進(jìn)程進(jìn)入了等待狀態(tài),自愿讓出處理機(jī)資源。
(b)進(jìn)程進(jìn)入閉鎖狀態(tài)
進(jìn)程在執(zhí)行中要求分配某種資源(例如發(fā)送消息的用戶緩沖器)而未能滿足時,不能繼續(xù)執(zhí)行其功能,只有暫停執(zhí)行而進(jìn)入閉鎖狀態(tài),讓出處理機(jī)資源。
(c)進(jìn)z程中止(Aborted)
進(jìn)程在執(zhí)行過程中遇到某些不正常情況時,將提前撤消這一進(jìn)程,此即所謂進(jìn)程中止。中止了的進(jìn)程當(dāng)然也不再需要處理機(jī)資源。
(d)進(jìn)程終止(Terminated)
當(dāng)進(jìn)程執(zhí)行了某個正常的執(zhí)行流程中所有的功能后,將終止這一進(jìn)程,讓出處理機(jī)資源。
(e)進(jìn)程被中斷
進(jìn)程在執(zhí)行中被中斷插入,執(zhí)行了中斷服務(wù)程序后并不立即返回斷點去恢復(fù)進(jìn)程的執(zhí)行,而是暫時讓出處理機(jī)資源。當(dāng)進(jìn)程讓出處理機(jī)資源時,必須確定下一個要調(diào)度的作業(yè),于是應(yīng)進(jìn)入SNJ。