專利名稱:資源管理方法以及設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種資源管理方法及其設(shè)備,并且特別是、但非排它性地適合于實(shí)時(shí)系統(tǒng)的資源管理。
存儲(chǔ)器的管理是資源管理的關(guān)鍵方面,并且已經(jīng)開發(fā)了各種方法來優(yōu)化其使用。一種方法就是所謂的“虛擬存儲(chǔ)器”,其中計(jì)算機(jī)看起來具有比它實(shí)際上擁有的更多的主(或者一級(jí))存儲(chǔ)器,這是通過把未用資源換出主存儲(chǔ)器并將其置于第二存儲(chǔ)器(例如,硬盤驅(qū)動(dòng)器)并且利用執(zhí)行當(dāng)前操作所需的那些來代替它們來實(shí)現(xiàn)的。
虛擬存儲(chǔ)器是當(dāng)應(yīng)用程序的存儲(chǔ)器需求超出可用的主存儲(chǔ)器時(shí)、或者當(dāng)應(yīng)用程序需要訪問沒有駐留在一級(jí)存儲(chǔ)器中的資源時(shí)被使用。在后一情況中,虛擬存儲(chǔ)器管理器定位未使用的存儲(chǔ)頁面(例如是最近沒有被訪問的那些),并且把未使用的頁面寫出盤的保留區(qū),將其稱為交換文件。虛擬存儲(chǔ)器管理器然后令CPU把所請(qǐng)求的頁面從盤上的文件或者交換文件讀入一級(jí)存儲(chǔ)器。當(dāng)這樣做時(shí),所述虛擬存儲(chǔ)器管理器映射第一和第二存儲(chǔ)器頁面并且執(zhí)行某些內(nèi)部內(nèi)務(wù)操作。為了獲取更多的信息,讀者可以參閱“H.M.Deitel,Anintroduction to Operating Systems,Addison Wesley PublishingCompany,Inc.,ISBN0-201-14502-2,1984”的第3部分(第7章)。
具有足夠的主存儲(chǔ)器,會(huì)很少使用虛擬存儲(chǔ)器。如果存儲(chǔ)器不足,那么計(jì)算機(jī)會(huì)花費(fèi)其大多數(shù)時(shí)間來在存儲(chǔ)器和交換文件之間移動(dòng)頁面,由于硬盤驅(qū)動(dòng)器訪問比存儲(chǔ)器訪問要慢1000倍,所以這是非常慢的。另外,數(shù)據(jù)的必需的移動(dòng)增加了不確定性,并且減少了系統(tǒng)的可預(yù)測(cè)性。虛擬存儲(chǔ)器由此以每一位較低的成本來增加存儲(chǔ)容量,但是從時(shí)間的角度看,最壞情況的訪問時(shí)間和不確定的行為也隨之增加。
存儲(chǔ)器管理的另一方法涉及根據(jù)可用存儲(chǔ)器來選擇和處理文件。這種方法尤其適合于某些類型的文件,諸如圖像文件,這些文件是極其資源密集的。處理這種文件涉及根據(jù)其處理要求以及存儲(chǔ)器可用性來從所述文件的多個(gè)不同版本(每個(gè)對(duì)應(yīng)于不同分辯率,或者服務(wù)質(zhì)量(QoS))中選擇一個(gè)版本。在圖像文件的情況中,可以把不同分辯率的版本存儲(chǔ)在圖像文件的不同視頻軌道中;此方法是AppleTM在他們的QuickTime VRTM應(yīng)用程序中目前采用的方法。采用此方法的問題是需要圖像的多個(gè)版本可加以利用,這是極為不便并且是耗費(fèi)成本的。
應(yīng)用程序和數(shù)據(jù)的處理看起來密切牽涉資源的增加量,這意味著計(jì)算機(jī)不斷地需要升級(jí)。對(duì)于硅上的系統(tǒng)或者芯片設(shè)備上的系統(tǒng)來說,在任何給定的情況下,存儲(chǔ)器都在變?yōu)橐粋€(gè)主要的限制因素,由此,從所需要的硅面積量的觀點(diǎn)看,添加另一處理核心(諸如MIPS或者VLIW)不再是問題。因此,存儲(chǔ)器、而非CPU周期很可能變?yōu)樾乱淮到y(tǒng)的瓶頸。
如果存在一種不需要輔助存儲(chǔ)器并且處理器不密集并且因此比現(xiàn)有方法更加便宜的存儲(chǔ)器管理方法,是合乎需要的。
根據(jù)本發(fā)明的第一方面,提供了一種調(diào)度數(shù)據(jù)處理系統(tǒng)中多個(gè)任務(wù)的方法,每一任務(wù)具有掛起數(shù)據(jù),所述掛起數(shù)據(jù)用于基于與之關(guān)聯(lián)的存儲(chǔ)器用量來規(guī)定任務(wù)的掛起,所述方法包括處理多個(gè)任務(wù)之一;監(jiān)控表示與掛起數(shù)據(jù)匹配的任務(wù)的存儲(chǔ)器用量的輸入,其中所述掛起數(shù)據(jù)與所述任務(wù)相關(guān)聯(lián);根據(jù)所監(jiān)控的輸入來掛起所述任務(wù)的處理;并且處理多個(gè)任務(wù)的不同的一個(gè)。
在隨后的描述中,任務(wù)的掛起稱為任務(wù)搶占,或者任務(wù)的搶占,并且術(shù)語“任務(wù)”用來表示可以根據(jù)其自身競(jìng)爭(zhēng)諸如存儲(chǔ)器、CPU、輸入/輸出設(shè)備等等的系統(tǒng)資源的執(zhí)行單位。在一個(gè)實(shí)施例中,可以把任務(wù)看作一系列連續(xù)執(zhí)行的作業(yè),每個(gè)作業(yè)包括一個(gè)或多個(gè)子作業(yè)。例如,任務(wù)可以包括“去復(fù)用視頻流”,并且涉及讀入輸入流、處理所述流并且輸出與之相關(guān)的數(shù)據(jù)。這些步驟將針對(duì)每一輸入數(shù)據(jù)流來執(zhí)行,以便單個(gè)流的讀取、處理和輸出對(duì)應(yīng)于執(zhí)行一個(gè)作業(yè);由此當(dāng)存在多個(gè)將要讀入并處理的多個(gè)數(shù)據(jù)分組時(shí),作業(yè)將被執(zhí)行相應(yīng)數(shù)目的次數(shù)。子作業(yè)可以被認(rèn)為涉及作業(yè)的功能部件。
在本發(fā)明的實(shí)施例中,由數(shù)據(jù)處理系統(tǒng)使用的存儲(chǔ)器量是通過所謂的搶占點(diǎn)由掛起數(shù)據(jù)間接控制的,所述搶占點(diǎn)用于規(guī)定在任務(wù)執(zhí)行過程中各點(diǎn)處所需的存儲(chǔ)器量。
這些搶占點(diǎn)被用來防止數(shù)據(jù)處理系統(tǒng)因沒有存儲(chǔ)器而崩潰。當(dāng)實(shí)時(shí)任務(wù)具有包括多個(gè)子作業(yè)的特征時(shí),搶占點(diǎn)優(yōu)選地與任務(wù)的子作業(yè)邊界一致。在隨后的描述中,把掛起數(shù)據(jù)稱為搶占存儲(chǔ)器數(shù)據(jù)或者僅僅稱為存儲(chǔ)器數(shù)據(jù)。
在一種結(jié)構(gòu)中,從請(qǐng)求解調(diào)度(descheduling)事件的任務(wù)處接收輸入(表示與所述任務(wù)相關(guān)聯(lián)的掛起數(shù)據(jù)相匹配的任務(wù)的存儲(chǔ)器用量);搶占點(diǎn)例如可以通過一行代碼被嵌入到任務(wù)中,所述行代碼用于請(qǐng)求解調(diào)度事件,指明搶占點(diǎn)已經(jīng)存在。在可替代的結(jié)構(gòu)中,所述輸入可以是正由任務(wù)使用的存儲(chǔ)器量,由此,監(jiān)控步驟于是將涉及監(jiān)控相對(duì)于與此任務(wù)相關(guān)聯(lián)的掛起數(shù)據(jù)的實(shí)際存儲(chǔ)器用量。
便利的是,所述方法包括接收用于識(shí)別與多個(gè)任務(wù)的每一個(gè)相關(guān)聯(lián)的最大存儲(chǔ)器用量的第一數(shù)據(jù);接收用于識(shí)別對(duì)于處理多個(gè)任務(wù)可用的存儲(chǔ)器的第二數(shù)據(jù);并且根據(jù)第一和第二數(shù)據(jù)來識(shí)別是否存在足夠的存儲(chǔ)器可以用來處理所述任務(wù)。所述監(jiān)控和掛起步驟然后只響應(yīng)于識(shí)別出存儲(chǔ)器不足才被應(yīng)用。
在此結(jié)構(gòu)中,如果數(shù)據(jù)處理系統(tǒng)不具有足夠存儲(chǔ)器來同時(shí)處理所有任務(wù),那么所述數(shù)據(jù)處理系統(tǒng)只利用掛起點(diǎn)、或者搶占點(diǎn)。
便利的是,所述方法包括監(jiān)控任務(wù)的終止,并且響應(yīng)于任務(wù)終止重復(fù)識(shí)別存儲(chǔ)器可用性的所述步驟。在一種結(jié)構(gòu)中,在任務(wù)已經(jīng)終止之后,如果存在足夠的存儲(chǔ)器來同時(shí)執(zhí)行剩余的任務(wù),那么就認(rèn)為監(jiān)控步驟是不必要的,并且允許任務(wù)前進(jìn),而無需監(jiān)控任何涉及存儲(chǔ)器用量的輸入。在第二種結(jié)構(gòu)中,所述方法可以包括處理非實(shí)時(shí)的任務(wù),同時(shí)監(jiān)控涉及其他任務(wù)的存儲(chǔ)器用量的輸入。
依照本發(fā)明的第二方面,提供了一種用于數(shù)據(jù)處理系統(tǒng)中的調(diào)度器,所述數(shù)據(jù)處理系統(tǒng)被設(shè)置為執(zhí)行多個(gè)任務(wù)并且有權(quán)訪問用于執(zhí)行所述任務(wù)的規(guī)定量的存儲(chǔ)器,所述調(diào)度器包括數(shù)據(jù)接收器,被設(shè)置為接收用于識(shí)別與任務(wù)相關(guān)聯(lián)的最大存儲(chǔ)器用量的數(shù)據(jù);評(píng)估器,被設(shè)置為根據(jù)所接收的數(shù)據(jù)來識(shí)別是否存在足夠的存儲(chǔ)器來執(zhí)行所述任務(wù);選擇器,被設(shè)置為選擇至少一個(gè)任務(wù)以便在執(zhí)行任務(wù)期間掛起,所述掛起與所述任務(wù)被規(guī)定的存儲(chǔ)器用量一致;
其中,響應(yīng)于評(píng)估器識(shí)別出不存在足夠存儲(chǔ)器來執(zhí)行多個(gè)任務(wù),所述選擇器根據(jù)任務(wù)被規(guī)定的存儲(chǔ)器用量以及所述數(shù)據(jù)處理系統(tǒng)可用的規(guī)定量的存儲(chǔ)器來選擇一個(gè)或多個(gè)任務(wù)以便掛起,并且所述調(diào)度器響應(yīng)于使用規(guī)定存儲(chǔ)器的任務(wù)來掛起所選擇的任務(wù)或者每一所選任務(wù)的執(zhí)行。
有益的是,所述調(diào)度器可以依照硬件或者軟件來實(shí)現(xiàn),并且所述數(shù)據(jù)處理系統(tǒng)可以是高容量消耗電子設(shè)備,諸如是數(shù)字電視系統(tǒng)。
根據(jù)本發(fā)明的第三方面,提供了一種向數(shù)據(jù)處理系統(tǒng)傳輸數(shù)據(jù)的方法,所述方法包括如下步驟在處理任務(wù)的過程中傳輸供數(shù)據(jù)處理系統(tǒng)使用的數(shù)據(jù);并且傳輸掛起數(shù)據(jù),所述掛起數(shù)據(jù)用于在任務(wù)處理期間根據(jù)存儲(chǔ)器用量來規(guī)定任務(wù)的掛起,其中所述數(shù)據(jù)處理系統(tǒng)被設(shè)置為執(zhí)行包括如下步驟的過程監(jiān)控表示與掛起數(shù)據(jù)相匹配的任務(wù)的存儲(chǔ)器用量的輸入,所述掛起數(shù)據(jù)與所述任務(wù)相關(guān)聯(lián);并且掛起所述任務(wù)的處理。
此第三方面因此涉及與待處理的任務(wù)相對(duì)應(yīng)的掛起或者搶占數(shù)據(jù)的分派。所述掛起數(shù)據(jù)可以作為定期廣播信號(hào)(例如,具有伴隨其它資源的掛起數(shù)據(jù)的額外任務(wù))的一部分來分送,或者作為數(shù)據(jù)處理系統(tǒng)的通用升級(jí)部分由服務(wù)供應(yīng)商來分派。此外,數(shù)據(jù)處理系統(tǒng)可以通過獨(dú)立的鏈路或設(shè)備(例如,軟盤或者光盤)來更新。
本發(fā)明實(shí)施例的額外利益在于數(shù)據(jù)處理系統(tǒng)可用比目前所可能的更小的存儲(chǔ)器來配置,這意味著使用所述存儲(chǔ)器的處理設(shè)備的成本將會(huì)更低。另外,或者作為選擇,由于消除了對(duì)訪問芯片外存儲(chǔ)器或者二級(jí)存儲(chǔ)器的需要,故而可預(yù)測(cè)性得以改善。
除上下文含義指明之外,否則在如下描述中使用術(shù)語“存儲(chǔ)器”來表示隨機(jī)存取存儲(chǔ)器。
根據(jù)如下對(duì)本發(fā)明優(yōu)選實(shí)施例的更加具體的描述,本發(fā)明的其它目的、優(yōu)勢(shì)和特征將會(huì)明顯,本發(fā)明的優(yōu)選實(shí)施例如附圖中舉例說明的那樣,其中
圖1是示出了本發(fā)明實(shí)施例操作的數(shù)字電視系統(tǒng)的例子的示意圖2是更加詳細(xì)地示出了構(gòu)成圖1機(jī)頂盒的部件的示意性框圖;圖3a是示出了根據(jù)本發(fā)明實(shí)施例的任務(wù)接口的部件的示意圖;圖3b是示出了圖3a中示出的任務(wù)接口的部件之間的關(guān)系的示意圖;圖4是根據(jù)本發(fā)明實(shí)施例示出了圖1和2中所示的機(jī)頂盒的處理器部件的示意性框圖;圖5a和5b合起來是示出了由圖4部件執(zhí)行的步驟的流程圖;圖6是示出了由圖4部件執(zhí)行的另外的步驟的流程圖;并且圖7是示出了與處理周期性任務(wù)相關(guān)聯(lián)的存儲(chǔ)器用量和任務(wù)切換損失的示意圖。
在至少某些實(shí)施例中,任務(wù)包括實(shí)時(shí)任務(wù),其中數(shù)據(jù)在某一時(shí)限內(nèi)被處理和/或遞送,并且其中在任務(wù)的調(diào)度和執(zhí)行過程中需要一定的精確程度。實(shí)時(shí)任務(wù)的例子包括具有視頻和音頻分量(包括CD的構(gòu)成)的多媒體應(yīng)用、視頻獲取和播放、電話通信應(yīng)用、語音識(shí)別和合成,而處理這種任務(wù)的設(shè)備包括諸如數(shù)字TV和機(jī)頂盒(STB)的消費(fèi)者終端,以及被設(shè)置為處理前述多媒體應(yīng)用的計(jì)算機(jī)。
在高容量消費(fèi)者電子設(shè)備(HVE)領(lǐng)域中,期望數(shù)字電視系統(tǒng)處理并且顯示多個(gè)不同的并且無關(guān)的圖像,并且可以接收和處理來自用戶(用戶輸入范圍例如從單個(gè)頻道變化為交互式反饋)的輸入。例如,觀眾通常希望觀看電影,同時(shí)監(jiān)視足球比賽的進(jìn)程。為了適應(yīng)此需要,所述數(shù)字電視系統(tǒng)可以被設(shè)置為在位于電視屏角落的相對(duì)小的窗口(被稱為畫中畫(PiP))中顯示足球賽,同時(shí)電影占據(jù)剩余的屏幕;兩個(gè)顯示區(qū)往往不斷地被更新,并且用戶往往能夠隨時(shí)在它們兩者之間切換焦點(diǎn)。此例子因此涉及兩個(gè)應(yīng)用,一個(gè)將主窗口作為輸出而另一個(gè)將PiP窗口作為輸出。所述數(shù)字電視系統(tǒng)被設(shè)置為處理兩個(gè)獨(dú)立的流,一個(gè)對(duì)應(yīng)于主窗口而一個(gè)對(duì)應(yīng)于PiP窗口,并且每一個(gè)流通常包括多個(gè)用于數(shù)據(jù)處理(用于音頻與視頻兩者)的實(shí)時(shí)任務(wù)。
人們期望諸如機(jī)頂盒之類的消費(fèi)產(chǎn)品是健壯的,并且符合例如因高質(zhì)量數(shù)字音頻和視頻處理而強(qiáng)加的嚴(yán)格定時(shí)要求;消費(fèi)者都不會(huì)容忍他們的電視機(jī)崩潰,來讓消息高速他們“請(qǐng)重新啟動(dòng)系統(tǒng)”。然而,與此同時(shí),系統(tǒng)資源、特別是存儲(chǔ)器必須以成本有效的方式被用于這種消費(fèi)者產(chǎn)品中。
機(jī)頂盒因此是具有實(shí)時(shí)限制的系統(tǒng)的例子。如圖1所示,在常規(guī)配置中,機(jī)頂盒100經(jīng)由電視配電系統(tǒng)1與電視機(jī)101和內(nèi)容供應(yīng)商(或者服務(wù)器)103相連,并且被設(shè)置為接收來自于內(nèi)容供應(yīng)商103的數(shù)據(jù)以便顯示在電視機(jī)101上。機(jī)頂盒100還接收并且應(yīng)答來自于用戶界面105的信號(hào),其可以包括任何眾所周知的用戶界面,所述用戶界面能夠向機(jī)頂盒100提供選擇信號(hào)。在一個(gè)結(jié)構(gòu)中,所述用戶界面105包括用于接收來自于遙控設(shè)備102的信號(hào)的紅外遙控接口。
機(jī)頂盒100經(jīng)由天線或者有線電視出口來接收數(shù)據(jù),并且要么處理所述數(shù)據(jù),要么將它直接發(fā)送給電視機(jī)101。用戶觀看顯示在電視機(jī)101上的信息,并且經(jīng)由用戶界面105來根據(jù)所顯示的內(nèi)容輸入選擇信息。某些或者所有的用戶選擇信號(hào)可以通過機(jī)頂盒100被傳輸給內(nèi)容供應(yīng)商103。從機(jī)頂盒100發(fā)送到服務(wù)器103的信號(hào)包括機(jī)頂盒100的標(biāo)識(shí)符以及用戶選擇。根據(jù)機(jī)頂盒100和內(nèi)容供應(yīng)商103的特殊的實(shí)現(xiàn)方式,還可以提供其它信息。
圖2是示出了機(jī)頂盒100的內(nèi)部部件的示意圖;所述示意圖是原理圖,未必反映出精確的物理構(gòu)造和這些部件的互連。所述機(jī)頂盒100包括處理和控制單元201(此后稱為處理器),用于控制機(jī)頂盒100的總體操作。耦合至處理器201的是電視調(diào)諧器203、存儲(chǔ)器設(shè)備205、存儲(chǔ)器206、通信裝置207和遠(yuǎn)程接口209。所述電視調(diào)諧器203接收傳輸線路211上的電視信號(hào),如上所述,其可以源自天線或者有線電視出口。所述處理器201控制用戶界面105的操作,經(jīng)由線路213向電視機(jī)101提供數(shù)據(jù)、音頻與視頻輸出。所述遠(yuǎn)程接口209經(jīng)由無線連接215接收來自于遙控器的信號(hào)。所述通信裝置207被設(shè)置為在框101和一個(gè)或多個(gè)遠(yuǎn)程處理系統(tǒng)之間經(jīng)由數(shù)據(jù)通路217轉(zhuǎn)送數(shù)據(jù),所述遠(yuǎn)程處理系統(tǒng)諸如Web服務(wù)器。通信裝置207可以是常規(guī)的電話(POTS)調(diào)制解調(diào)器、綜合服務(wù)數(shù)字網(wǎng)(ISDN)適配器、數(shù)字用戶線路(xDSL)適配器、有線電視調(diào)制解調(diào)器或者任何其他適當(dāng)?shù)臄?shù)據(jù)通信裝置。
現(xiàn)在將比較詳細(xì)地描述本發(fā)明的實(shí)施例。假設(shè)處理器201被設(shè)置為處理多個(gè)與機(jī)頂盒控制有關(guān)的任務(wù),諸如改變頻道;選擇顯示在圖形用戶界面(GUI)105上的菜單選項(xiàng);與圖文電視交互;解碼輸入數(shù)據(jù);以及在電視機(jī)101上當(dāng)前查看的存儲(chǔ)器206上記錄數(shù)據(jù)等等。一般說來,這種控制任務(wù)根據(jù)如下內(nèi)容來確定機(jī)頂盒100的操作設(shè)置,所述內(nèi)容為機(jī)頂盒100的特性;輸入的視頻信號(hào)(經(jīng)由線路211);用戶輸入;以及任何其他的輔助輸入。參照?qǐng)D3a,這種任務(wù)伴隨有可編程接口301,其包括對(duì)應(yīng)于所述任務(wù)的搶占存儲(chǔ)器數(shù)據(jù)303。在圖3a中,對(duì)于τ1具有3個(gè)搶占點(diǎn)(j=3)的情況,示出了對(duì)應(yīng)于單任務(wù)τ1的存儲(chǔ)器數(shù)據(jù)303。
正如所屬技術(shù)領(lǐng)域已知的那樣,部件(例如,可以包括一個(gè)或多個(gè)任務(wù)的軟件部件)可以具有可編程接口,所述可編程接口包括部件定義的屬性、功能或者方法以及事件(如需獲得更多信息,請(qǐng)讀者參閱“Clemens Szyperski,Component Software-Beyond Object-oriented Programming,Addison-Wesley,ISBN 0-201-17888-5,1997”)。在本實(shí)施例中,任務(wù)伴隨有至少包括所述任務(wù)所需的主存儲(chǔ)器數(shù)據(jù)的接口。
出于本示例的目的,把任務(wù)假定為周期性的并且是實(shí)時(shí)的,并且具有如下特征周期T和定相F,其中0<=F<T,這意味著可以認(rèn)為任務(wù)包括作業(yè)序列,每個(gè)作業(yè)在時(shí)間F+nT被釋放,其中n=0…N。假定機(jī)頂盒100執(zhí)行三個(gè)任務(wù)——在GUI 105上顯示菜單;從內(nèi)容供應(yīng)商103檢索圖文電視信息;并且處理某些視頻信號(hào)——這3項(xiàng)任務(wù)的每個(gè)作業(yè)被假定包括多個(gè)子作業(yè)。為便于呈現(xiàn),假設(shè)子作業(yè)順序地執(zhí)行。
至少一些子作業(yè)可以被搶占;可以被搶占的那些子作業(yè)之間的邊界提供搶占點(diǎn)并且被概括成表1
表1還參照?qǐng)D3b,對(duì)于每個(gè)任務(wù)來說,存儲(chǔ)器數(shù)據(jù)303包括與搶占點(diǎn)(Pi,j)有關(guān)的信息,諸如在搶占點(diǎn)需要的最大存儲(chǔ)器量MPi,j;以及連續(xù)搶占點(diǎn)之間的信息,諸如搶占點(diǎn)之間的間隔中需要的最壞情況的存儲(chǔ)器量MIi,j(i表示任務(wù)τi而j表示搶占點(diǎn))。
更具體地說,存儲(chǔ)器數(shù)據(jù)303包括規(guī)定如下內(nèi)容的數(shù)據(jù)任務(wù)τi的搶占點(diǎn)j(Pi,j)303a;在該任務(wù)的搶占點(diǎn)j、任務(wù)τi的最大存儲(chǔ)器需求Mpi,j,其中1≤j≤m(i),303b;對(duì)應(yīng)于任務(wù)τi的子作業(yè)j的連續(xù)搶占點(diǎn)j和(j+1)之間的間隔Ii,j,其中1≤j≤m(i),303c;以及在該任務(wù)的間隔j中,任務(wù)τi的最大(即,最壞情況)存儲(chǔ)器需求MIi,j,其中1≤j≤m(i),303d。
表2舉例說明了當(dāng)前示例的存儲(chǔ)器數(shù)據(jù)303(每一任務(wù)將具有其自身的接口,以便在當(dāng)前示例中,對(duì)應(yīng)于第一任務(wù)τ1的存儲(chǔ)器數(shù)據(jù)303包括表2第一行中的數(shù)據(jù);對(duì)應(yīng)于第二任務(wù)τ2的數(shù)據(jù)303包括表2的第二行等等。)
表2當(dāng)我們考慮裝備有1.5兆字節(jié)的存儲(chǔ)器的機(jī)頂盒100將如何在正?;蛘卟换诖鎯?chǔ)器搶占的條件下表現(xiàn)時(shí),可以看出本發(fā)明實(shí)施例解決的問題之一。
在常規(guī)的結(jié)構(gòu)中,可以期待處理器201根據(jù)某些時(shí)間分片或者基于優(yōu)先權(quán)的搶占來調(diào)度任務(wù),這意味著所有3項(xiàng)任務(wù)并行運(yùn)行,即同時(shí)有效地運(yùn)行。因此調(diào)度每一任務(wù)以便同時(shí)運(yùn)行其大部分的存儲(chǔ)器密集的子作業(yè)是可能的。這三個(gè)任務(wù)的最壞情況的存儲(chǔ)器需求MP由如下公式給出MP=Σi=13maxj=1m(i)MIi,j]]>(公式1)對(duì)于任務(wù)τ1,τ2和τ3來說,MP因此是τ1的最大存儲(chǔ)器需求(MI1,1)加上任務(wù)τ2的最大存儲(chǔ)器需求(MI2,2)加上任務(wù)τ3的最大存儲(chǔ)器需求(MI3,2)。這些最大需求是通過表中粗體條目來表明的MP=0.7+0.8+0.3=1.8兆字節(jié)。
這超出了機(jī)項(xiàng)盒100可利用的存儲(chǔ)器0.3兆字節(jié),因此,當(dāng)缺少任何預(yù)防措施時(shí),并且如果這些子作業(yè)將要同時(shí)處理時(shí),機(jī)頂盒100將崩潰。
正如現(xiàn)在將參照?qǐng)D4、5a、5b和6描述的那樣,在此實(shí)施例中,處理器201利用存儲(chǔ)器數(shù)據(jù)303來確保這種情況不會(huì)發(fā)生。主要的是,所述實(shí)施例包括可以通過執(zhí)行指令序列的處理器201的元件所執(zhí)行的步驟。所述指令可以存儲(chǔ)在存儲(chǔ)器206中并且被具體化為一個(gè)或者一組計(jì)算機(jī)程序,例如是以C程序設(shè)計(jì)語言來編寫的程序。
實(shí)施例的特征主要根據(jù)功能性來加以描述;此功能性被實(shí)現(xiàn)或者“被編碼”的精確方式對(duì)于理解本發(fā)明而言是不重要的。根據(jù)此描述,對(duì)于所屬領(lǐng)域的技術(shù)人員而言,許多實(shí)現(xiàn)方式(過程的或者面向?qū)ο蟮?都是可能的并且是易于理解的。
圖4是示出與本發(fā)明實(shí)施例有關(guān)的處理器201的部件的示意圖,包括調(diào)度器401和任務(wù)管理器403。調(diào)度器401根據(jù)調(diào)度算法來調(diào)度任務(wù)的執(zhí)行,并且創(chuàng)建和在已經(jīng)創(chuàng)建它后為每個(gè)任務(wù)τi保留數(shù)據(jù)結(jié)構(gòu)407i。所述調(diào)度器401最好采用常規(guī)的基于優(yōu)先權(quán)的搶占調(diào)度算法,其主要確保在任意時(shí)間點(diǎn),當(dāng)前運(yùn)行的任務(wù)是系統(tǒng)中所有準(zhǔn)備運(yùn)行的任務(wù)中具有最高優(yōu)先權(quán)的一個(gè)。正如所屬技術(shù)領(lǐng)域已知的那樣,調(diào)度行為可以通過有選擇地允許和禁止正在運(yùn)行或者準(zhǔn)備運(yùn)行的任務(wù)的搶占來加以修改。
所述任務(wù)管理器403被設(shè)置為接收對(duì)應(yīng)于新接收的任務(wù)的存儲(chǔ)器數(shù)據(jù)303,并且評(píng)估是否需要搶占;如果需要,那么它被設(shè)置為將最新接收的信息傳遞至請(qǐng)求搶占的調(diào)度器401?,F(xiàn)在將參照?qǐng)D4、5a和5b比較詳細(xì)地描述任務(wù)管理器403的功能性,以及響應(yīng)于從任務(wù)管理器403接收到的數(shù)據(jù)而由任務(wù)和/或調(diào)度器401執(zhí)行的步驟。圖5a和5b合起來是示出了當(dāng)接收表2中定義的任務(wù)細(xì)節(jié)時(shí)由任務(wù)管理器403執(zhí)行的步驟的流程圖,假定任務(wù)(并且只有τ1)當(dāng)前正由處理器201處理,假定調(diào)度器401初始工作在不基于存儲(chǔ)器的限制的模式中。
在步驟501,由任務(wù)管理器403接收任務(wù)τ2,其從接口Int2讀取存儲(chǔ)器數(shù)據(jù)303,并且識(shí)別所述調(diào)度器401是否根據(jù)基于存儲(chǔ)器的搶占在工作(步驟502);在此例子中,由于它不是,所以任務(wù)管理器403評(píng)估所述調(diào)度器401是否需要改變?yōu)榛诖鎯?chǔ)器的搶占。因此,這樣做涉及在步驟503,任務(wù)管理器403從存儲(chǔ)器數(shù)據(jù)的存儲(chǔ)器405中檢索對(duì)應(yīng)于所有當(dāng)前執(zhí)行的任務(wù)(在此例子中是任務(wù)τ1)的最壞情況的存儲(chǔ)器數(shù)據(jù),求解公式1并且把求解的最壞情況存儲(chǔ)器需求與處理器201可用的存儲(chǔ)器資源進(jìn)行比較(步驟504)。依照表2中引入的例子繼續(xù),對(duì)于τ1和τ2而言,公式1是 這恰好等于可利用的系統(tǒng)需求,因此不必把調(diào)度器的操作模式改變?yōu)榛诖鎯?chǔ)器的搶占(即,不必根據(jù)存儲(chǔ)器用量來限制調(diào)度器401)。因此,如果調(diào)度器401在任務(wù)τ1和任務(wù)τ2之間切換——例如,以便滿足任務(wù)τ2的執(zhí)行時(shí)間限制,那么意味著兩個(gè)任務(wù)同時(shí)有效地駐留在存儲(chǔ)器中——處理器201決不會(huì)訪問比其可用的更多的存儲(chǔ)器。
接下來,并且在任務(wù)τ1和τ2已經(jīng)完成以前,另一任務(wù)τ3被接收(步驟501)。所述任務(wù)管理器403進(jìn)行到步驟503并且從與任務(wù)τ3相關(guān)聯(lián)的接口Int3讀取存儲(chǔ)器數(shù)據(jù)303,評(píng)估調(diào)度器是否需要改變?yōu)榛诖鎯?chǔ)器的搶占。假定調(diào)度器正在多任務(wù)分派任務(wù)τ1和τ2,那么所有三個(gè)任務(wù)最壞情況的存儲(chǔ)器需求現(xiàn)在是 這超出了可利用的系統(tǒng)資源,因此在步驟505,任務(wù)管理器403從存儲(chǔ)器數(shù)據(jù)的存儲(chǔ)器405請(qǐng)求并且檢索涉及所有3項(xiàng)任務(wù)的存儲(chǔ)器用量數(shù)據(jù)MPi,j、MIi,j303b、303d,并且根據(jù)這樣檢索的存儲(chǔ)器用量數(shù)據(jù)來評(píng)估是否存在足夠的資源來執(zhí)行所有3項(xiàng)任務(wù)(步驟507)。這可以通過求解如下公式來確定MD=Σi=13maxj=1m(i)MPi,j+maxi=13(maxj=1m(i)MIi,j-maxj=1m(j)MPi,j)]]>(公式2)=0.2+0.2+0.1+max(0.7-0.2,0.8-0.2,0.3-0.1)=0.5+0.6=1.1兆字節(jié)。
此存儲(chǔ)器需求低于可用存儲(chǔ)器,這意味著當(dāng)規(guī)定任務(wù)是根據(jù)它們的存儲(chǔ)器用量來搶占時(shí),所有三個(gè)任務(wù)可以同時(shí)執(zhí)行。
因此,任務(wù)管理器403通過命令(步驟509)任務(wù)在它們的指定的搶占點(diǎn)(MPi,j)把解調(diào)度指令傳輸給調(diào)度器401來調(diào)用“基于存儲(chǔ)器的搶占模式”。在此模式中,依照在任一點(diǎn)每次最多一個(gè)任務(wù)可以處于不同于其搶占點(diǎn)之一的點(diǎn)的限制,所述調(diào)度器401允許每一任務(wù)從一個(gè)搶占點(diǎn)非搶占地運(yùn)行到下一搶占點(diǎn)。假定最新到達(dá)的任務(wù)將起始于一個(gè)搶占點(diǎn),那么調(diào)度器401確保(步驟511)此條件適用于當(dāng)前運(yùn)行的任務(wù),由此限制所有(除了一個(gè)外)任務(wù)到達(dá)一個(gè)搶占點(diǎn)。這在當(dāng)前示例的上下文中被很好地解釋了如果任務(wù)管理器403將調(diào)用基于存儲(chǔ)器的搶占模式,而任務(wù)τ1正在執(zhí)行子作業(yè)2,并且任務(wù)τ2正在等待處理子作業(yè)1,那么確保最多一個(gè)子作業(yè)被處理的條件將自動(dòng)地得以滿足。然而,如果任務(wù)τ1正在執(zhí)行子作業(yè)2而任務(wù)τ2正在等待繼續(xù)執(zhí)行子作業(yè)2,那么調(diào)度器401將允許任務(wù)完成其子作業(yè),并且在允許任務(wù)τ2繼續(xù)以前到達(dá)搶占點(diǎn)MP1,3。
因此在基于存儲(chǔ)器的搶占模式中,調(diào)度器401只被允許在它們的存儲(chǔ)器搶占點(diǎn)搶占任務(wù)(即,響應(yīng)于來自處于它們的基于存儲(chǔ)器的搶占點(diǎn)的任務(wù)的解調(diào)度請(qǐng)求)。
圖6是舉例說明當(dāng)任務(wù)之一已經(jīng)終止,如果任務(wù)通知任務(wù)管理器403其結(jié)束時(shí)所涉及的步驟的流程圖在步驟601,正在終止的任務(wù)通知任務(wù)管理器403它正在終止,使得任務(wù)管理器403求解603公式1;如果最壞情況存儲(chǔ)器用量(考慮此任務(wù)的去除)低于處理器201可用的存儲(chǔ)器用量,那么任務(wù)管理器403可以撤銷(在步驟605)基于存儲(chǔ)器的搶占,這具有使系統(tǒng)能對(duì)外部事件快速起作用(由于在子作業(yè)期間內(nèi)處理器不再被“阻塞”)的益處。一般說來,任務(wù)的終止通常是由其環(huán)境引起的,例如,因用戶的頻道切換或者所應(yīng)用的編碼的數(shù)據(jù)流的改變(要求另一種解碼),這意味著任務(wù)管理器403和/或調(diào)度器401應(yīng)該知道任務(wù)的終止并且或許甚至命令任務(wù)終止。在這種情況下,步驟601是多余的。
作為選擇,所述任務(wù)管理器403可以選擇仍在執(zhí)行的任務(wù)的其中一個(gè)的不同版本來處理。某些任務(wù)可以具有與之關(guān)聯(lián)的變化的服務(wù)水平,每個(gè)均要求訪問不同組的資源,并且涉及不同的“服務(wù)質(zhì)量”(QoS)。在2001年5月8日-9日在Florence召開的ProceedingsInternational Conference on Media Futures中刊登的“QoS forconsumer terminals and its support for product families”中,Bril等人描述了具有多個(gè)版本、每一版本對(duì)應(yīng)于不同QoS和資源需求的應(yīng)用程序的概念。
作為可進(jìn)一步替代的方式,所述任務(wù)管理器403可以允許其它(非關(guān)鍵的;即,具有軟限制的那些)過程運(yùn)行。這些替代方式僅僅是任務(wù)管理器403/調(diào)度器401的可能選項(xiàng),而不表示窮舉清單。
同時(shí)在如上所述的所述實(shí)施例中,搶占僅僅是依照主存儲(chǔ)器需求的環(huán)境來描述的,所述任務(wù)可以另外根據(jù)定時(shí)限制來搶占,諸如定時(shí)認(rèn)為是單個(gè)任務(wù)最后期限以及系統(tǒng)效率。在如上所述的所述例子中,當(dāng)任務(wù)是根據(jù)它們的搶占點(diǎn)數(shù)據(jù)303a來搶占時(shí),實(shí)際存儲(chǔ)器用量MD僅僅是1.1兆字節(jié)。因此,可以利用其它0.4兆字節(jié);如果接口將包括涉及高速緩沖存儲(chǔ)器用量的數(shù)據(jù),那么所述任務(wù)管理器403可以優(yōu)化系統(tǒng)資源的使用(就整個(gè)系統(tǒng)的效率而言)。圖7示出了在時(shí)間T后、與重復(fù)處理作業(yè)(如上所述,其自身包括一個(gè)或多個(gè)子作業(yè))的任務(wù)相關(guān)聯(lián)的存儲(chǔ)器用量701以及任務(wù)切換損失703,并假定主存儲(chǔ)器用量以及任務(wù)切換損失對(duì)于每個(gè)周期來說是相同的(實(shí)際上,這是不可能的情況,因?yàn)樽幼鳂I(yè)在不同的周期可具有不同的執(zhí)行時(shí)間)。除其存儲(chǔ)器用量以外,所述任務(wù)管理器403因此可以知道與任務(wù)相關(guān)聯(lián)的任務(wù)切換損失(即,涉及執(zhí)行循環(huán)——從主存儲(chǔ)器存取指令集置于高速緩存中——之間的切換的惡化)并且處理用于平衡高速緩沖存儲(chǔ)器與主存儲(chǔ)器用量的目標(biāo)函數(shù)。主要的是,基于存儲(chǔ)器的任務(wù)搶占可以限于搶占點(diǎn)數(shù)據(jù)303a的子集,同時(shí)以最小化任務(wù)切換損失為目標(biāo)來調(diào)用某些搶占。作為選擇,存儲(chǔ)器數(shù)據(jù)303可以明確地規(guī)定子集,例如,規(guī)定搶占點(diǎn)的兩個(gè)或更多子集,一個(gè)子集提供優(yōu)化高速緩存行為的搶占點(diǎn),同時(shí)不超過可用的主存儲(chǔ)器量,而另一子集提供最小化主存儲(chǔ)器需求的搶占點(diǎn)。
應(yīng)該注意的是,當(dāng)被調(diào)用時(shí),依照本發(fā)明的基于存儲(chǔ)器的搶占限制是強(qiáng)制性的,而根據(jù)高速緩沖存儲(chǔ)器的搶占全然是任選的,這是因?yàn)榛诟咚倬彺娴膿屨紶可娴皆鰪?qiáng)性能而非設(shè)備本身的可操作性。
雖然依照上述實(shí)施例,在把任務(wù)假定為周期性的(即,在預(yù)定的周期間隔中進(jìn)行處理,并且處理的最后期限由硬性限制來表示),但是實(shí)施例可應(yīng)用于不是在周期間隔中(即,作業(yè)之間的持續(xù)時(shí)間在連續(xù)作業(yè)之間改變)進(jìn)行處理的非周期的任務(wù),但是其最后期限仍然是由硬性限制表示。這種任務(wù)通常被稱為“間歇的”(非周期性的實(shí)時(shí)任務(wù),例如,由最終用戶因?yàn)樗?她按下遙控器上的按鈕所引起的實(shí)時(shí)任務(wù)處理事件)并且是“抖動(dòng)的”(周期性任務(wù)的動(dòng)作/釋放之間的持續(xù)時(shí)間中波動(dòng))。
依照上述實(shí)施例,我們假定所有3項(xiàng)任務(wù)應(yīng)該在由調(diào)度器收到之后盡可能快地被執(zhí)行;然而,將理解的是,某些任務(wù)的最后期限限制在任務(wù)之間具有顯著差異例如,某些任務(wù)可以具有“當(dāng)日結(jié)束”的最后期限(例如,系統(tǒng)管理類型任務(wù));而其它任務(wù)可以具有從調(diào)度器接收后5分鐘的最后期限。因此,應(yīng)該期待的是,可以采用根據(jù)執(zhí)行時(shí)間的一些管理。例如,步驟504可以另外涉及識(shí)別對(duì)應(yīng)于任務(wù)的最壞情況執(zhí)行時(shí)間(WCET),并且如果所述任務(wù)不要求立即執(zhí)行(或者其可以在更加應(yīng)時(shí)受限的任務(wù)之一已經(jīng)結(jié)束之后執(zhí)行),那么可以推遲任務(wù)的執(zhí)行,這意味著所述系統(tǒng)可以在沒有基于存儲(chǔ)器的搶占的情況下繼續(xù)。在這樣的情況下,任務(wù)管理器403將例如在存儲(chǔ)器數(shù)據(jù)的存儲(chǔ)器405中存儲(chǔ)這些仍未完成的任務(wù)的細(xì)節(jié),并且每次當(dāng)既滿足其最后期限限制并且例如又與空閑容量的周期一致時(shí)執(zhí)行它(例如,圖6的步驟605)。
雖然在如上所述的所述實(shí)施例中,所述任務(wù)負(fù)責(zé)初始化子作業(yè)的搶占,但是調(diào)度器401可以代替地管理此過程。因此,在可替代的結(jié)構(gòu)中,所述任務(wù)管理器403把搶占點(diǎn)數(shù)據(jù)303a轉(zhuǎn)發(fā)給調(diào)度器。調(diào)度器401審查對(duì)應(yīng)于當(dāng)前執(zhí)行的任務(wù)τ1和τ2的數(shù)據(jù)結(jié)構(gòu)4071、4072,以便識(shí)別它們各自當(dāng)前執(zhí)行的子作業(yè)。對(duì)于每個(gè)任務(wù)來說,所述調(diào)度器401然后把子作業(yè)映射至搶占條件,以便識(shí)別下一個(gè)搶占點(diǎn),并且當(dāng)?shù)竭_(dá)該點(diǎn)時(shí),在該點(diǎn)搶占每個(gè)任務(wù)。在如上所述的示例的上下文中很好的解釋了這一點(diǎn)當(dāng)任務(wù)管理器403把搶占點(diǎn)數(shù)據(jù)轉(zhuǎn)發(fā)至調(diào)度器401時(shí),調(diào)度器401識(shí)別出任務(wù)τ1將執(zhí)行子作業(yè)2并且任務(wù)τ2將等待處理子作業(yè)1。因此,調(diào)度器401將下一個(gè)搶占點(diǎn)識(shí)別為任務(wù)τ1子作業(yè)m(2);任務(wù)τ2子作業(yè)m(1),并且準(zhǔn)備在搶占點(diǎn)MP1,2和MP1,3搶占任務(wù)τ1,并且在搶占點(diǎn)MP2,1和MP2,2搶占任務(wù)τ2。所述調(diào)度器401配置任務(wù)τ3,從而在其兩個(gè)搶占點(diǎn)進(jìn)行搶占。當(dāng)任務(wù)的存儲(chǔ)器用量模式是單體,例如,如果任務(wù)的存儲(chǔ)器用量具有兩個(gè)狀態(tài),其中一個(gè)使用大量存儲(chǔ)器(“高存儲(chǔ)器用量”-狀態(tài))而其中一個(gè)使用少得多存儲(chǔ)器(“低存儲(chǔ)器用量”-狀態(tài))時(shí),這種替代方式是十分有用的。所述調(diào)度器401監(jiān)控每個(gè)任務(wù)已經(jīng)分配有的存儲(chǔ)器量,并且可以通過任務(wù)管理器來命令不搶占所述任務(wù),同時(shí)所述任務(wù)處于“高存儲(chǔ)器用量”狀態(tài)。
作為進(jìn)一步的替代方式,當(dāng)從任務(wù)管理器403接收搶占指令時(shí)(步驟509),在子作業(yè)開始的時(shí)候,任務(wù)可以提高其優(yōu)先權(quán)至所謂的“不可搶占”優(yōu)先權(quán),并且在子作業(yè)結(jié)束時(shí)可以將其優(yōu)先權(quán)降低至其“正?!眱?yōu)先權(quán)。在這樣的條件下,所述調(diào)度器401因此僅僅在它們的搶占點(diǎn)具有搶占任務(wù)的機(jī)會(huì)(因?yàn)槠渲兴鲎幼鳂I(yè)變?yōu)椴豢蓳屨嫉?。任務(wù)τi于是將通知任務(wù)管理器403它們何時(shí)達(dá)到搶占點(diǎn),這使任務(wù)管理器403能開始不同的任務(wù)。在此可替代的結(jié)構(gòu)中,基于存儲(chǔ)器的搶占的職責(zé)在于任務(wù)管理器403和任務(wù)τi。此替代方式尤其適用于這樣的情況,即任務(wù)包括少許極其存儲(chǔ)器密集的代碼間隔,并且在處理此間隔期間才實(shí)際需要搶占。
雖然在上述描述中假設(shè)本發(fā)明是依照軟件來具體實(shí)現(xiàn)的,但是本發(fā)明的某些實(shí)施例可以通過硬接線電路來實(shí)施,而非通過執(zhí)行軟件來實(shí)施,或者可以通過硬接線電路與軟件的組合來實(shí)施。因此,將意識(shí)到的是,本發(fā)明不局限于硬件電路和軟件的任何特定組合,并且也不局限于軟件指令的任何特定源。
如在
發(fā)明內(nèi)容
部分陳述的那樣,雖然術(shù)語任務(wù)涉及實(shí)時(shí)任務(wù),但是本發(fā)明還可用于非實(shí)時(shí)任務(wù),這是因?yàn)楸景l(fā)明主要是存儲(chǔ)器管理解決方案。例如,每當(dāng)虛擬存儲(chǔ)器量受限時(shí),或者不希望使用虛擬存儲(chǔ)器方法時(shí),可能應(yīng)用于非實(shí)時(shí)系統(tǒng)。
雖然依照上述實(shí)施例,假設(shè)任務(wù)主要是控制任務(wù)(提供機(jī)頂盒100的控制),但是所述任務(wù)還可以包括根據(jù)多媒體家庭平臺(tái)(MHP)或者其它的標(biāo)準(zhǔn)設(shè)計(jì)的應(yīng)用程序;在這種情況下,所述任務(wù)可以包括TV銷售;游戲;和一般的基于互聯(lián)網(wǎng)的服務(wù)。作為選擇,所述任務(wù)可以包括對(duì)保健設(shè)備的控制任務(wù)或者用于控制GSM設(shè)備信號(hào)的任務(wù)。
雖然依照上述實(shí)施例,假設(shè)搶占點(diǎn)是在接口301上被規(guī)定的,但是作為選擇也可以在日志文件中規(guī)定它們。
雖然依照上述實(shí)施例,所述任務(wù)管理器403是獨(dú)立于調(diào)度器401而描述的,但是技術(shù)人員可以意識(shí)到這種分離只為便于描述,可以修改常規(guī)調(diào)度器來包括任務(wù)管理器403和調(diào)度器的功能性。實(shí)際上,部件的物理分布是一種設(shè)計(jì)選擇,其對(duì)本發(fā)明的范圍沒有任務(wù)影響。
雖然依照上述實(shí)施例,假設(shè)所有任務(wù)是通過單個(gè)處理器來處理的,但是作為選擇,所述任務(wù)可以通過多個(gè)處理器來處理——例如,n個(gè)任務(wù)τi(1≤i≤n)的集合T可以通過p個(gè)處理器πk的集合P(1≤k≤p)來處理(其中n通常大于p)。在一個(gè)適當(dāng)?shù)慕Y(jié)構(gòu)中,每個(gè)任務(wù)τi被分配給特殊的處理器πk,這意味著任務(wù)τi將僅僅在處理器πk上執(zhí)行。最壞的存儲(chǔ)器需求MP然后通過如下公式給出MP=Σk=1pMkp]]>(公式1’)當(dāng)MP小于可用存儲(chǔ)器時(shí),不必限制任何處理器上的任務(wù)的調(diào)度(步驟504);然而,當(dāng)MP超出可用存儲(chǔ)器時(shí),調(diào)度一個(gè)或多個(gè)任務(wù)可以被限制為規(guī)定的一個(gè)或多個(gè)處理器。限制單處理器上的所有任務(wù)的調(diào)度的效果可以使用諸如在第一實(shí)施例的上下文中提出的公式2來加以確定。限制所有任務(wù)的調(diào)度可以遍及可利用的處理器進(jìn)行的效果可以根據(jù)(公式2’)確定MD=Σk=1pMkD]]>(公式2’)其中總的存儲(chǔ)器需求MD是每個(gè)處理器πk的存儲(chǔ)器需求MkD的和。
雖然依照上述實(shí)施例,所述任務(wù)被描述為軟件任務(wù),但是任務(wù)還可以依照硬件來實(shí)現(xiàn)。通常,硬件設(shè)備(作為硬件任務(wù)起作用)是通過軟件任務(wù)控制的,其分配硬件設(shè)備所需的(最壞情況)存儲(chǔ)器,并且隨后命令硬件任務(wù)運(yùn)行。當(dāng)硬件任務(wù)完成時(shí),它通知軟件任務(wù),其隨后不分配存儲(chǔ)器。如上所述,涉及多處理器的分配變式也適用于組合的SW和HW任務(wù)。因此,通過帶有控制軟件任務(wù),利用轉(zhuǎn)換后的方程公式1′和公式2′,硬件任務(wù)可以僅僅根據(jù)上述實(shí)施例處理。
應(yīng)該理解的是,本公開內(nèi)容僅僅是為了例證說明,本發(fā)明可擴(kuò)展至其修改、變化和改進(jìn)。
權(quán)利要求
1.一種調(diào)度數(shù)據(jù)處理系統(tǒng)(100)中多個(gè)任務(wù)(τi)的方法,每一任務(wù)具有掛起數(shù)據(jù)(303),所述掛起數(shù)據(jù)用于基于與之關(guān)聯(lián)的存儲(chǔ)器用量來規(guī)定任務(wù)的掛起,所述方法包括處理多個(gè)任務(wù)之一;監(jiān)控表示與掛起數(shù)據(jù)匹配的任務(wù)的存儲(chǔ)器用量的輸入,其中所述掛起數(shù)據(jù)與所述任務(wù)相關(guān)聯(lián);根據(jù)所監(jiān)控的輸入來掛起所述任務(wù)的處理;并且處理多個(gè)任務(wù)的不同的一個(gè)。
2.如權(quán)利要求1所述的方法,包括接收(501)用于識(shí)別與多個(gè)任務(wù)相關(guān)聯(lián)的最大存儲(chǔ)器用量的第一數(shù)據(jù)(303d);接收用于識(shí)別對(duì)于處理多個(gè)任務(wù)可用的存儲(chǔ)器的第二數(shù)據(jù);并且根據(jù)第一和第二數(shù)據(jù)來識(shí)別(504)是否存在足夠的存儲(chǔ)器可用來處理所述任務(wù);其中所述監(jiān)控和掛起步驟只響應(yīng)于識(shí)別出存儲(chǔ)器不足才被應(yīng)用(509)。
3.如權(quán)利要求1所述的方法,其中所述輸入包括表示掛起請(qǐng)求的數(shù)據(jù)。
4.如權(quán)利要求1所述的方法,其中所述輸入包括表示任務(wù)的存儲(chǔ)器用量的數(shù)據(jù),并且所述方法包括識(shí)別存儲(chǔ)器用量與掛起數(shù)據(jù)何時(shí)匹配,其中所述掛起數(shù)據(jù)與所述任務(wù)相關(guān)聯(lián)。
5.如權(quán)利要求1所述的方法,包括監(jiān)控(601)任務(wù)的終止并且響應(yīng)于任務(wù)終止來重復(fù)(603)識(shí)別存儲(chǔ)器可用性的所述步驟。
6.如權(quán)利要求5所述的方法,其中,響應(yīng)于識(shí)別出有足夠存儲(chǔ)器來執(zhí)行剩余的任務(wù),那么認(rèn)為所述監(jiān)控步驟是不必要的(605)。
7.一種用于數(shù)據(jù)處理系統(tǒng)(100)的調(diào)度器(401),所述數(shù)據(jù)處理系統(tǒng)被設(shè)置為執(zhí)行多個(gè)任務(wù)(τi)并且有權(quán)訪問用于執(zhí)行所述任務(wù)的規(guī)定量的存儲(chǔ)器,所述調(diào)度器包括數(shù)據(jù)接收器(203),被設(shè)置為接收用于識(shí)別與任務(wù)相關(guān)聯(lián)的最大存儲(chǔ)器用量的數(shù)據(jù);評(píng)估器(403),被設(shè)置為根據(jù)所接收的數(shù)據(jù)來識(shí)別是否存在足夠的存儲(chǔ)器來執(zhí)行所述任務(wù);選擇器(τi,401,403),被設(shè)置為選擇至少一個(gè)任務(wù)以便在執(zhí)行任務(wù)期間掛起,所述掛起與由任務(wù)規(guī)定的存儲(chǔ)器用量一致;其中,響應(yīng)于評(píng)估器識(shí)別出不存在足夠存儲(chǔ)器來執(zhí)行多個(gè)任務(wù),所述選擇器根據(jù)任務(wù)被規(guī)定的存儲(chǔ)器用量以及所述數(shù)據(jù)處理系統(tǒng)可用的規(guī)定量的存儲(chǔ)器來選擇一個(gè)或多個(gè)任務(wù)以便掛起,并且所述調(diào)度器響應(yīng)于使用規(guī)定存儲(chǔ)器的任務(wù)來掛起所選擇的任務(wù)或者每一所選任務(wù)的執(zhí)行。
8.如權(quán)利要求7所述的調(diào)度器,其中所述評(píng)估器(403)被設(shè)置為監(jiān)控任務(wù)的終止,并且響應(yīng)于任務(wù)終止來識(shí)別是否存在足夠的存儲(chǔ)器來執(zhí)行剩余的任務(wù)。
9.如權(quán)利要求7所述的調(diào)度器,其中所述數(shù)據(jù)識(shí)別與所述任務(wù)相關(guān)聯(lián)的執(zhí)行最后期限。
10.如權(quán)利要求9所述的調(diào)度器,其中,響應(yīng)于評(píng)估器(403)識(shí)別出有足夠的存儲(chǔ)器來執(zhí)行剩余的任務(wù),所述調(diào)度器(401)被設(shè)置為識(shí)別不具有執(zhí)行最后期限的任務(wù)并且調(diào)度所識(shí)別的任務(wù)。
11.如權(quán)利要求8至10任一項(xiàng)所述的調(diào)度器,其中,響應(yīng)于評(píng)估器(403)識(shí)別出有足夠的存儲(chǔ)器來執(zhí)行剩余的任務(wù),那么選擇器(τi,401,403)被設(shè)置為取消選擇所選的一個(gè)或多個(gè)任務(wù)。
12.一種數(shù)據(jù)處理系統(tǒng)被設(shè)置為執(zhí)行多個(gè)任務(wù),所述數(shù)據(jù)處理系統(tǒng)包括存儲(chǔ)器(205),被設(shè)置為在執(zhí)行任務(wù)(τi)期間保存指令和數(shù)據(jù);接收裝置(203),被設(shè)置為接收用于識(shí)別與任務(wù)相關(guān)聯(lián)的最大存儲(chǔ)器用量的數(shù)據(jù);評(píng)估裝置(403),被設(shè)置為根據(jù)所接收的數(shù)據(jù)來識(shí)別是否存在足夠的存儲(chǔ)器來執(zhí)行所述任務(wù);以及調(diào)度器(401),被設(shè)置為根據(jù)從評(píng)估裝置接收的輸入來調(diào)度任務(wù)的執(zhí)行;其中,響應(yīng)于沒有足夠存儲(chǔ)器來執(zhí)行多個(gè)任務(wù)的識(shí)別,所述調(diào)度器被設(shè)置為根據(jù)任務(wù)的存儲(chǔ)器用量來掛起至少一個(gè)任務(wù)的執(zhí)行。
13.如權(quán)利要求12所述的數(shù)據(jù)處理系統(tǒng),其中所述數(shù)據(jù)處理系統(tǒng)包括數(shù)字電視系統(tǒng)。
14.一種用于向數(shù)據(jù)處理系統(tǒng)傳輸數(shù)據(jù)的方法,所述方法包括以下步驟在處理任務(wù)(τi)的過程中傳輸供數(shù)據(jù)處理系統(tǒng)使用的數(shù)據(jù);并且傳輸掛起數(shù)據(jù)(303),所述掛起數(shù)據(jù)用于在任務(wù)處理期間根據(jù)存儲(chǔ)器用量來規(guī)定任務(wù)的掛起,其中所述數(shù)據(jù)處理系統(tǒng)被設(shè)置為執(zhí)行包括如下步驟的過程監(jiān)控表示與掛起數(shù)據(jù)相匹配的任務(wù)的存儲(chǔ)器用量的輸入,所述掛起數(shù)據(jù)與所述任務(wù)相關(guān)聯(lián);并且根據(jù)所監(jiān)控的輸入來掛起所述任務(wù)的處理。
15.如權(quán)利要求14所述的方法,其中掛起數(shù)據(jù)根據(jù)任務(wù)的存儲(chǔ)器用量來識(shí)別至少一個(gè)能掛起任務(wù)的處理的點(diǎn)(303b)。
16.如權(quán)利要求14所述的方法,其中所述掛起數(shù)據(jù)包括用于識(shí)別與任務(wù)相關(guān)聯(lián)的最大存儲(chǔ)器用量的數(shù)據(jù)(303d)。
17.如權(quán)利要求15所述的方法,其中所述任務(wù)包括多個(gè)子作業(yè)(τi,j),并且用于識(shí)別至少一個(gè)能掛起任務(wù)的處理的點(diǎn)的所述數(shù)據(jù)(303b)對(duì)應(yīng)于每個(gè)子作業(yè)。
18.一種配置在數(shù)據(jù)處理系統(tǒng)中使用的任務(wù)(τi)的方法,所述方法包括把掛起數(shù)據(jù)(303)與所述任務(wù)相關(guān)聯(lián),所述掛起數(shù)據(jù)用于基于與之關(guān)聯(lián)的存儲(chǔ)器用量來規(guī)定任務(wù)的掛起,其中所述數(shù)據(jù)處理系統(tǒng)被設(shè)置為執(zhí)行涉及多個(gè)任務(wù)的過程,所述過程包括監(jiān)控表示與掛起數(shù)據(jù)相匹配的任務(wù)的存儲(chǔ)器用量的輸入,所述掛起數(shù)據(jù)與所述任務(wù)相關(guān)聯(lián);并且根據(jù)所述監(jiān)控的輸入來掛起所述任務(wù)的處理。
19.如權(quán)利要求18所述的方法,包括識(shí)別被配置為用于處理任務(wù)的數(shù)據(jù)處理系統(tǒng),并且把所述掛起數(shù)據(jù)傳輸給數(shù)據(jù)處理系統(tǒng)。
20.一種包括一組指令的計(jì)算機(jī)程序,被設(shè)置為令處理系統(tǒng)執(zhí)行如權(quán)利要求1至6任一項(xiàng)所述的方法。
全文摘要
本發(fā)明涉及一種資源管理設(shè)備和方法,并且尤其適合于實(shí)時(shí)系統(tǒng)的資源管理。特別是,本發(fā)明牽涉到在主存儲(chǔ)器量受限的低成本系統(tǒng)上運(yùn)行的應(yīng)用程序的存儲(chǔ)器管理。本發(fā)明提供了一種調(diào)度數(shù)據(jù)處理系統(tǒng)中多個(gè)任務(wù)的方法,每一任務(wù)具有掛起數(shù)據(jù),所述數(shù)據(jù)用于基于與之關(guān)聯(lián)的存儲(chǔ)器用量來規(guī)定任務(wù)的掛起,所述方法包括處理多個(gè)任務(wù)之一;監(jiān)控表示與掛起數(shù)據(jù)匹配的任務(wù)的存儲(chǔ)器用量的輸入,所述掛起數(shù)據(jù)與所述任務(wù)相關(guān)聯(lián);根據(jù)所監(jiān)控的輸入來掛起所述任務(wù)的處理;并且處理多個(gè)任務(wù)的不同的一個(gè)。因此在本發(fā)明中,將在這種系統(tǒng)上執(zhí)行的任務(wù)被依照掛起數(shù)據(jù)來預(yù)先配置,也稱為基于存儲(chǔ)器的搶占點(diǎn),其表示在任務(wù)執(zhí)行過程中各點(diǎn)處(即,在搶占點(diǎn)處和它們之間)所需的存儲(chǔ)器量。所述數(shù)據(jù)處理系統(tǒng)具備相應(yīng)的處理裝置,被設(shè)置為根據(jù)將處理的任務(wù)和可用的存儲(chǔ)器來評(píng)估所述任務(wù)的調(diào)度是否應(yīng)該被限制。本發(fā)明因此提供了一種基于存儲(chǔ)器限制來搶占任務(wù)處理的裝置,并且由此提供了新的存儲(chǔ)器管理方法和新的搶占標(biāo)準(zhǔn)。
文檔編號(hào)G06F9/48GK1802635SQ200480009911
公開日2006年7月12日 申請(qǐng)日期2004年4月5日 優(yōu)先權(quán)日2003年4月14日
發(fā)明者R·J·布里, D·J·C·洛維特 申請(qǐng)人:皇家飛利浦電子股份有限公司