專利名稱:作業(yè)調(diào)度器以及作業(yè)調(diào)度方法
技術(shù)領(lǐng)域:
本發(fā)明涉及針對控制設(shè)備的多個作業(yè),通過主循環(huán)來調(diào)出各個作業(yè)并 使之執(zhí)行的作業(yè)調(diào)度器、作業(yè)調(diào)度方法、以及作業(yè)調(diào)度控制程序存儲介質(zhì),特別涉及提高不安裝實(shí)時操作系統(tǒng)(以下稱為實(shí)時OS)的嵌入式軟件的實(shí)時性的作業(yè)調(diào)度器、作業(yè)調(diào)度方法、以及作業(yè)調(diào)度控制程序存儲介 質(zhì)。
背景技術(shù):
在對以廣泛使用的打印機(jī)裝置、復(fù)印機(jī)裝置、傳真機(jī)裝置等為代表的 信息處理裝置等進(jìn)行控制的嵌入式軟件中,通常安裝實(shí)時操作系統(tǒng),并在該實(shí)時OS的管理下執(zhí)行各程序。實(shí)時OS分割應(yīng)控制的處理單位(作業(yè)),對需要并行執(zhí)行的作業(yè)分配"任務(wù)"的概念,并按照預(yù)先設(shè)定的優(yōu)先級自動確定各個任務(wù)的順序來 進(jìn)行執(zhí)行控制。此外,對于嵌入式軟件來說,當(dāng)應(yīng)執(zhí)行的處理并不復(fù)雜時,不安裝實(shí)時OS而是配備作業(yè)調(diào)度器的情況也很多,該作業(yè)調(diào)度器通常被稱為主循環(huán),其依次調(diào)出各個處理。在采用這種主循環(huán)構(gòu)造的嵌入式軟件中,被主循環(huán)調(diào)出的各個作業(yè)以 最小時間結(jié)束執(zhí)行,并將處理返回至主循環(huán)。在日本專利文獻(xiàn)特開2003-67201號公報中,公開了以同時實(shí)現(xiàn)保證控 制處理的實(shí)時性和保證網(wǎng)絡(luò)通信處理的吞吐量為目的的控制器。上述公報中記載的控制器具有包含多個任務(wù)以及對該任務(wù)進(jìn)行執(zhí)行控 制的操作系統(tǒng)的程序,其將多個任務(wù)分為用于與網(wǎng)絡(luò)通信系統(tǒng)進(jìn)行通信的 通信任務(wù)組和用于對監(jiān)視控制對象進(jìn)行監(jiān)視控制的控制任務(wù)組來進(jìn)行管 理,并以組為單位切換多個任務(wù)的執(zhí)行順序,然后基于切換后的任務(wù)組對從監(jiān)視控制對象或者網(wǎng)絡(luò)通信系統(tǒng)獲得的信息進(jìn)行處理。但是,當(dāng)安裝了實(shí)時OS時,在存儲器中需要用于存儲各任務(wù)狀態(tài)的被稱為任務(wù)控制塊(TCB)的存儲區(qū)域,因而存在所需的RAM大小增大 的問題。此外,實(shí)時OS調(diào)出各個任務(wù)之前的時間成為原本不必要的處理,從 而產(chǎn)生無效時間。該時間通常被稱為額外開銷時間。在不安裝實(shí)時OS的情況下雖然不存在上述問題,但由于反復(fù)執(zhí)行由主循環(huán)依次調(diào)出各個作業(yè)的處理,因而存在如下問題,S卩當(dāng)存在時間限制嚴(yán)格的作業(yè)時,如果當(dāng)前被主循環(huán)調(diào)出的是其之外的作業(yè),則會在主循 環(huán)調(diào)出該時間限制嚴(yán)格的作業(yè)之前的期間產(chǎn)生延遲。當(dāng)CPU的能力高于各個作業(yè)的調(diào)出執(zhí)行時間的總和時,能夠在所要求 的最小時間內(nèi)向各個作業(yè)移交執(zhí)行權(quán),從而不存在實(shí)時性的問題,但在處 理能力沒有裕度的無能力的CPU的情況下,就會產(chǎn)生無法滿足系統(tǒng)所要求 的實(shí)時性的這種致命性的問題。發(fā)明內(nèi)容鑒于上述問題,本發(fā)明的目的在于提供一種作業(yè)調(diào)度器以及作業(yè)調(diào)度 方法,使得即使在沒有安裝實(shí)時OS的無能力的CPU的情況下,也能夠滿 足系統(tǒng)所要求的基本的實(shí)時性。為了實(shí)現(xiàn)上述目的,根據(jù)本發(fā)明的作業(yè)調(diào)度器以及作業(yè)調(diào)度方法,將控制設(shè)備的多個作業(yè)中的各個作業(yè)調(diào)出到主循環(huán)中來執(zhí)行,其特征在于根據(jù)實(shí)時處理的必要程度將各個作業(yè)分成多組并對每個組設(shè)定優(yōu)先級,并 且進(jìn)行調(diào)出控制,以便將屬于優(yōu)先級低的組的作業(yè)在主循環(huán)的每一次循環(huán) 中的調(diào)出頻率限制為最小容許頻率。另外,本發(fā)明的其他方面通過參照以下實(shí)施例而被明確示出。
圖l是裝入了根據(jù)本發(fā)明的作業(yè)調(diào)度器的微機(jī)的構(gòu)成圖; 圖2是示出被作業(yè)調(diào)度器調(diào)出的作業(yè)的執(zhí)行順序的流程圖;圖3是示出被作業(yè)調(diào)度器調(diào)出的作業(yè)的執(zhí)行順序的流程圖; 圖4是示出本發(fā)明涉及的作業(yè)調(diào)度器的動作的流程圖。
具體實(shí)施方式
下面,對將根據(jù)本發(fā)明的調(diào)度器應(yīng)用在由控制復(fù)印機(jī)的微機(jī)執(zhí)行的嵌 入式軟件中的情況進(jìn)行說明。如圖1所示,對復(fù)印機(jī)進(jìn)行控制的微機(jī)M通過用內(nèi)部總線8連接CPU 1、存儲有由CPU 1執(zhí)行的嵌入式軟件6的ROM 7、被用作數(shù)據(jù)區(qū)域 或CPU 1的工作區(qū)域的RAM4、定時器中斷部2、以及I/0接口部3等而 構(gòu)成。存儲在ROM 7中的嵌入式軟件是對安裝在復(fù)印機(jī)中的感光體、顯影 裝置、定影裝置、運(yùn)送裝置等各種元件進(jìn)行控制以執(zhí)行圖像形成動作的程 序,通過由微機(jī)M執(zhí)行該程序來實(shí)現(xiàn)規(guī)定的功能。該程序包括多個作業(yè)6、以及通過主循環(huán)調(diào)出各個作業(yè)6并使之執(zhí)行 的作業(yè)管理程序5,所述多個作業(yè)6例如包括運(yùn)送控制作業(yè)A, 一邊通 過沿運(yùn)送路徑而配置的傳感器來監(jiān)視記錄紙, 一邊運(yùn)送記錄紙;溫度控制 作業(yè)B,通過安裝在定影部中的加熱器來控制定影溫度;成像控制作業(yè) C,控制包括感光體在內(nèi)的圖像形成模塊的圖像形成定時來形成調(diào)色劑圖 像;裝置的蓋體開關(guān)檢測控制作業(yè)X;對機(jī)內(nèi)環(huán)境進(jìn)行監(jiān)控的溫濕度檢測 控制作業(yè)Y;對設(shè)置在機(jī)內(nèi)的除濕加熱器進(jìn)行控制的除濕加熱器控制作業(yè) Z等。由執(zhí)行運(yùn)送控制作業(yè)A的微機(jī)M構(gòu)成了運(yùn)送控制部,由執(zhí)行溫度控 制作業(yè)B的微機(jī)M構(gòu)成了溫度控制部,由執(zhí)行成像控制作業(yè)C的微機(jī)M 構(gòu)成了成像控制部。由執(zhí)行蓋體開閉檢測控制作業(yè)X的微機(jī)M構(gòu)成了蓋體開閉檢測控制 部,由執(zhí)行溫濕度檢測控制作業(yè)Y的微機(jī)M構(gòu)成了溫濕度檢測控制部, 由執(zhí)行除濕加熱器控制作業(yè)Z的微機(jī)M構(gòu)成了除濕加熱器控制部。另外,由執(zhí)行作業(yè)管理程序的微機(jī)M構(gòu)成了作業(yè)調(diào)度器5。如圖1及圖2所示,在向微機(jī)M接通電源后,從ROM 7中讀出初始化程序來對內(nèi)部寄存器和RAM的值進(jìn)行初始化設(shè)定,然后從ROM 7中讀 出作業(yè)管理控制程序來執(zhí)行主循環(huán)處理。即,在上述的微機(jī)M中,并沒有 安裝實(shí)時操作系統(tǒng)。作業(yè)調(diào)度器5具有控制部,該控制部按照以規(guī)定的時間間隔對CPU 1 進(jìn)行定時器中斷的方式設(shè)定定時器中斷部2的寄存器,并啟動中斷處理, 并且執(zhí)行由主循環(huán)以規(guī)定的順序調(diào)出上述各個作業(yè)的輪詢處理。在經(jīng)由1/0接口 3輸入的來自各個元件的輸入輸出數(shù)據(jù)中,被要求精 度的數(shù)據(jù)在該定時器中斷處理中進(jìn)行控制,而其他的輸入輸出處理將在執(zhí) 行各個作業(yè)時經(jīng)由1/0接口 3來執(zhí)行。圖2示出了由作業(yè)調(diào)度器5調(diào)出作業(yè)A、 B、 C……、作業(yè)X、 Y、 Z……,并通過完成這些處理來結(jié)束主循環(huán)的一次循環(huán),然后再次調(diào)出作 業(yè)A、 B、 C……的通常的輪詢處理。如此,當(dāng)通過主循環(huán)對所有的作業(yè)依次進(jìn)行處理時,如果主循環(huán)的一 次循環(huán)的時間很長,則會發(fā)生損害控制的實(shí)時性的情況。例如,上述的作業(yè)A、 B、 C等與圖像形成動作有關(guān)的作業(yè)對實(shí)時性 的要求很嚴(yán)格,如果處理以幾毫秒至幾十毫秒的等級發(fā)生延遲,則無法正 常運(yùn)送記錄紙,從而會發(fā)生無法形成正常圖像的問題。但是,上述的作業(yè)X、 Y、 Z等對裝置的環(huán)境等進(jìn)行監(jiān)視的作業(yè)對實(shí) 時性的要求并不很嚴(yán)格,只要以幾百毫秒至幾秒的等級執(zhí)行處理,就不會 產(chǎn)生太大問題。因此,如圖4所示,作業(yè)調(diào)度器5根據(jù)實(shí)時處理的必要程度將各個作 業(yè)分成多組,并對每組設(shè)定優(yōu)先級,并且進(jìn)行調(diào)出控制,以便將屬于優(yōu)先 級低的組的作業(yè)在每一次循環(huán)中的調(diào)出頻率限制為最小容許頻率。如圖3所示,作業(yè)調(diào)度器5根據(jù)預(yù)先存儲在ROM 7中的優(yōu)先級表 5a,將作業(yè)A、 B、 C……和作業(yè)X、 Y、 Z……分為組,在主循環(huán)處理中 優(yōu)先調(diào)出作業(yè)A、 B、 C……并依次進(jìn)行處理,并且按一比幾的次數(shù)比調(diào)出 作業(yè)X、 Y、 Z……來依次進(jìn)行處理。優(yōu)先級表5a是示出根據(jù)實(shí)時處理的必要程度而為各個作業(yè)設(shè)定的優(yōu)先 級的表。例如,作業(yè)A、 B、 C 的組是優(yōu)先級高的組,作業(yè)X、 Y、 Z 的組是優(yōu)先級低的組。作業(yè)A、 B、 C的組在主循環(huán)處理中每次都被處 理,而作業(yè)X、 Y、 Z的組被處理的頻率則遵照預(yù)先存儲在ROM 7中的最 小容許頻率表5b的值。作業(yè)調(diào)度器5根據(jù)設(shè)置在定時器中斷部2中的計時器的值,測定各組 的處理開始時刻至處理結(jié)束時刻的時間、以及各個作業(yè)的處理開始時刻至 處理結(jié)束時刻的時間,并將各組和各個作業(yè)的處理時間存儲到在RAM 4 中劃定的處理時間表5c中。作業(yè)調(diào)度器5根據(jù)處理時間表5c,監(jiān)視各組的處理時間間隔,并以不 超出最小容許頻率表5b的值的方式調(diào)出作業(yè)X、 Y、 Z……的組并依次進(jìn) 行處理。例如,當(dāng)在最小容許頻率表5b中對每個作業(yè)規(guī)定了每個規(guī)定時間內(nèi) 的最小執(zhí)行次數(shù)或者所需最小限度的執(zhí)行周期時,作業(yè)調(diào)度器5基于存儲 在處理時間表5c中的各組的處理時間間隔,計算出主例程的執(zhí)行時間,并 以滿足最小容許頻率表5b中規(guī)定的執(zhí)行周期的方式調(diào)出各組。根據(jù)這種結(jié)構(gòu),即使是能力(性能)較低的無能力的CPU,也可以通 過作業(yè)調(diào)度器,來將屬于優(yōu)先級低的組的作業(yè)在每一次循環(huán)中的調(diào)出頻率 限制到最小容許頻率,確保屬于優(yōu)先級高的組的作業(yè)的執(zhí)行時間。因此, 能夠保證系統(tǒng)所要求的基本的實(shí)時性。分割作業(yè)的組數(shù)不限于兩組,在組數(shù)為三組或三組以上時也一樣,作 業(yè)調(diào)度器5基于存儲在處理時間表5c中的各組的處理時間間隔,計算出主 例程的執(zhí)行時間,并以滿足最小容許頻率表5b中規(guī)定的執(zhí)行周期的方式 調(diào)出各組。在另一實(shí)施方式中,作業(yè)調(diào)度器5優(yōu)選將如上述分組的各個作業(yè)分割 成多個子組,并在主循環(huán)的每一次循環(huán)中以子組為單位交替地對作業(yè)進(jìn)行 調(diào)出控制。例如,按照優(yōu)先級表5a中設(shè)定的優(yōu)先級從高到低的順序,將作業(yè)A、 B、 C……的組或作業(yè)X、 Y、 Z……的組分成多個子組,并限制在一次主 循環(huán)中調(diào)出的子組來分散負(fù)荷。當(dāng)在同一個組中混有處理時間長的作業(yè)和處理時間短的作業(yè)時,通過 將多個作業(yè)分成子組,以使處理時間均等,由此縮短在主循環(huán)的一次循環(huán) 中所需要的包含在同一個組中的作業(yè)的處理時間,從而能夠高效地進(jìn)行執(zhí) 行管理。另外,在又一實(shí)施方式中,作業(yè)調(diào)度器5優(yōu)選根據(jù)處理時間表5c來動 態(tài)地變更各個作業(yè)所屬的組或子組。即使是同一個作業(yè),有時根據(jù)作為控制對象的設(shè)備的狀況的不同,處 理時間也會變化。根據(jù)上述結(jié)構(gòu),通過測定各作業(yè)的處理時間來掌握這種 變化,并根據(jù)該結(jié)果動態(tài)地變更各個作業(yè)所屬的組,由此能夠確保系統(tǒng)所 要求的基本的實(shí)時性。具體來說,根據(jù)隨著作為控制對象的設(shè)備的狀況的不同而變動的作業(yè) 的處理時間,來進(jìn)行分割,以使組間或者子組間的處理時間均等,由此能 夠分散負(fù)荷。上述的作業(yè)管理程序是如下程序根據(jù)實(shí)時處理的必要程度將各個作 業(yè)分成多個組并對每個組設(shè)定優(yōu)先級,并且進(jìn)行調(diào)出控制,以便將屬于優(yōu) 先級低的組的作業(yè)在每一次循環(huán)中的調(diào)出頻率限制為最小容許頻率。此外,作業(yè)管理程序優(yōu)選使計算機(jī)發(fā)揮如下功能將進(jìn)行了分組的各 個作業(yè)分成多個子組,在每一次循環(huán)中以子組為單位交替地對作業(yè)進(jìn)行調(diào) 出控制;并且還優(yōu)選使計算機(jī)發(fā)揮如下功能測定各個作業(yè)的處理時間, 并基于該結(jié)果動態(tài)地變更各個作業(yè)所屬的組。由以上說明可知,根據(jù)本發(fā)明,即使在CPU的能力不高于各個作業(yè)的 調(diào)出執(zhí)行時間的總和時,也由于以所要求的最小時間高效地執(zhí)行各個作 業(yè),因而能夠確保實(shí)時性。
權(quán)利要求
1.一種作業(yè)調(diào)度器,通過主循環(huán)從存儲有用于控制設(shè)備的多個作業(yè)的存儲器中調(diào)出各個作業(yè)并使之在CPU中執(zhí)行,其特征在于,存儲有優(yōu)先級表,其中根據(jù)實(shí)時處理的必要程度設(shè)定了針對各個作業(yè)的優(yōu)先級;最小容許頻率表,其中規(guī)定了針對各個作業(yè)的必要最小限度的執(zhí)行周期;并包括控制部,該控制部根據(jù)所述優(yōu)先級表對多個作業(yè)進(jìn)行分組,并進(jìn)行調(diào)出控制,以便將屬于優(yōu)先級低的組的作業(yè)在主循環(huán)的每一次循環(huán)中的調(diào)出頻率限制為所述最小容許頻率表中規(guī)定的最小容許頻率表。
2. 如權(quán)利要求1所述的作業(yè)調(diào)度器,其特征在于, 所述控制部將進(jìn)行了分組的各個作業(yè)進(jìn)一步分成多個子組,并在主循環(huán)的每一次循環(huán)中以子組為單位依次對作業(yè)進(jìn)行調(diào)出控制。
3. 如權(quán)利要求1所述的作業(yè)調(diào)度器,其特征在于, 所述控制部測定各個作業(yè)的處理時間,并根據(jù)該結(jié)果動態(tài)地變更各個作業(yè)所屬的組。
4. 一種作業(yè)調(diào)度方法,通過主循環(huán)從存儲有用于控制設(shè)備的多個作業(yè) 的存儲器中調(diào)出各個作業(yè)并使之在CPU中執(zhí)行,其特征在于,根據(jù)實(shí)時處理的必要程度將各個作業(yè)分成多組,并對每個組設(shè)定優(yōu)先級,進(jìn)行調(diào)出控制,以便將屬于優(yōu)先級低的組的作業(yè)在主循環(huán)的每一次循 環(huán)中的調(diào)出頻率限制為最小容許頻率。
5. 如權(quán)利要求4所述的作業(yè)調(diào)度方法,其特征在于, 將進(jìn)行了分組的各個作業(yè)分成多個子組,并在主循環(huán)的每一次循環(huán)中以子組為單位依次對作業(yè)進(jìn)行調(diào)出控制。
6. 如權(quán)利要求4所述的作業(yè)調(diào)度方法,其特征在于, 測定各個作業(yè)的處理時間,并根據(jù)該結(jié)果動態(tài)地變更各個作業(yè)所屬的組。
7. —種作業(yè)調(diào)度器,通過主循環(huán)從存儲有用于控制設(shè)備的多個作業(yè)的 存儲器中調(diào)出各個作業(yè)并使之在CPU中執(zhí)行,其特征在于,包括分組單元,根據(jù)實(shí)時處理的必要程度將各個作業(yè)分成多組并對每個組 設(shè)定優(yōu)先級;以及控制單元,進(jìn)行調(diào)出控制,以便將屬于優(yōu)先級低的組的作業(yè)在主循環(huán) 的每一次循環(huán)中的調(diào)出頻率限制為最小容許頻率。
全文摘要
本發(fā)明提供一種作業(yè)調(diào)度器以及作業(yè)調(diào)度方法,使得即使在不安裝實(shí)時OS的無能力的CPU的情況下,也能夠滿足系統(tǒng)所要求的基本的實(shí)時性。本發(fā)明的作業(yè)調(diào)度器(5)通過主循環(huán)調(diào)出對設(shè)備進(jìn)行控制的多個作業(yè)中的各個作業(yè)并使之執(zhí)行,其中,根據(jù)實(shí)時處理的必要程度將各個作業(yè)分成多組并對每個組設(shè)定優(yōu)先級,并且進(jìn)行調(diào)出控制,以便將屬于優(yōu)先級低的組的作業(yè)在主循環(huán)的每一次循環(huán)中的調(diào)出頻率限制為最小容許頻率。
文檔編號G03G21/14GK101271296SQ20081008401
公開日2008年9月24日 申請日期2008年3月18日 優(yōu)先權(quán)日2007年3月20日
發(fā)明者小林昭浩 申請人:京瓷美達(dá)株式會社