本發(fā)明涉及一種用于準(zhǔn)并行地執(zhí)行多個(gè)線程的方法。本發(fā)明還涉及一種相應(yīng)的裝置、一種相應(yīng)的計(jì)算機(jī)程序以及一種相應(yīng)的存儲(chǔ)介質(zhì)。
背景技術(shù):
::按照國際標(biāo)準(zhǔn)iso/iec/ieee9945標(biāo)準(zhǔn)化的可移植操作系統(tǒng)接口(portableoperatingsysteminterface,posix)包括用于開放式的具有多任務(wù)能力的(multi-tasking(多任務(wù)))系統(tǒng)的一系列特定的應(yīng)用環(huán)境框架(applicationenvironmentprofile,aep)。這些應(yīng)用環(huán)境框架尤其包括用于可移植的實(shí)時(shí)的且嵌入式的(embedded)應(yīng)用的根據(jù)ieee1003.13-2003規(guī)定的環(huán)境框架。相反,首先下降到操作系統(tǒng)內(nèi)核的主管區(qū)以下的仲裁邏輯并未標(biāo)準(zhǔn)化,該仲裁邏輯控制著多個(gè)應(yīng)用的準(zhǔn)并行的、即至少看起來并行運(yùn)行的執(zhí)行。相應(yīng)的控制程序在操作系統(tǒng)理論中稱為調(diào)度器。為此,在實(shí)時(shí)操作系統(tǒng)的觀察區(qū)域中采用所謂的打斷式的或搶占式的調(diào)度器。這種類型的與搶占式調(diào)度器posix一致的操作系統(tǒng)在此遵循優(yōu)先級(jí)調(diào)度策略,按照這種策略,給每個(gè)任務(wù)都分派一個(gè)優(yōu)先級(jí),并且總是執(zhí)行具有最高優(yōu)先級(jí)的可執(zhí)行的任務(wù)。us20080235701a1公開了已知為自適應(yīng)分區(qū)調(diào)度器的一類新算法的可能的應(yīng)用。據(jù)此,對稱的多處理器系統(tǒng)包括多個(gè)處理單元和自適應(yīng)分區(qū)的相應(yīng)的多個(gè)主管機(jī)構(gòu)—調(diào)度器。自適應(yīng)分區(qū)的每個(gè)主管機(jī)構(gòu)—調(diào)度器—基于在多個(gè)自適應(yīng)分區(qū)的質(zhì)量函數(shù)值之間的比較—把相應(yīng)的處理單元有選擇性地分派給多個(gè)自適應(yīng)分區(qū)的多個(gè)線程(threads)。多個(gè)自適應(yīng)分區(qū)中的某個(gè)分區(qū)的質(zhì)量函數(shù)可以與該自適應(yīng)分區(qū)在相關(guān)處理單元上是否具有運(yùn)行時(shí)間配額有關(guān)。附加地或替代地,與自適應(yīng)分區(qū)的主管機(jī)構(gòu)—調(diào)度器相關(guān)聯(lián)的一定的分區(qū)的質(zhì)量函數(shù)可以與該自適應(yīng)分區(qū)在對稱多處理器系統(tǒng)上是否具有全局的(global)運(yùn)行時(shí)間配額有關(guān)。技術(shù)實(shí)現(xiàn)要素:本發(fā)明提出根據(jù)獨(dú)立權(quán)利要求的一種用于準(zhǔn)并行地執(zhí)行多個(gè)線程的方法、一種相應(yīng)的裝置、一種相應(yīng)的計(jì)算機(jī)程序以及一種相應(yīng)的存儲(chǔ)介質(zhì)。該解決方案的優(yōu)勢在于,將不同的調(diào)度算法靈活地組合起來,其目的是,利用這些算法的各自的優(yōu)點(diǎn),并且消除缺點(diǎn)。在此尤其要注意,在來源、復(fù)雜性、功能可靠性和信息可靠性方面具有不同的時(shí)間要求或時(shí)間特性的多個(gè)應(yīng)用可以在相同的軟件-運(yùn)行時(shí)間環(huán)境中運(yùn)行。為此通過操作系統(tǒng)內(nèi)核和必要時(shí)補(bǔ)充的組元比如用于監(jiān)視和控制多個(gè)線程的管理過程實(shí)現(xiàn)了一種多層的(multi-layer)調(diào)度器。該調(diào)度器的多個(gè)層在此上下層級(jí)式地構(gòu)造,其中,每個(gè)調(diào)度器層級(jí)相比于比它低級(jí)的層級(jí)都享有不受限制的優(yōu)先權(quán)。時(shí)間片方法(timeslicing)處于最高等級(jí),然后可以在預(yù)算內(nèi)進(jìn)一步細(xì)分和監(jiān)視該時(shí)間片方法。采取在從屬權(quán)利要求中所述的措施可以有利地改進(jìn)和改善在獨(dú)立權(quán)利要求中給出的基本構(gòu)思。因而可以規(guī)定,第三層級(jí)上的調(diào)度器—從任一開始時(shí)間點(diǎn)起—周期性地以定期的時(shí)間間隔把時(shí)間片分派給多個(gè)線程。該時(shí)間段周期性地重復(fù)。在該時(shí)間段內(nèi),這些時(shí)間片可以有每一種任意的組合。也可行的是,在一個(gè)時(shí)間段內(nèi)將多個(gè)時(shí)間片分給一個(gè)應(yīng)用,以便例如得到改善的事件等待時(shí)間。這種設(shè)計(jì)相應(yīng)于中型多應(yīng)用系統(tǒng)的常見應(yīng)用情況,這些多應(yīng)用系統(tǒng)—按照比如pikeos或完整性的工作原理—以在調(diào)整能力較小情況下在應(yīng)用層上的硬性的實(shí)時(shí)要求和嚴(yán)格的確定性為特點(diǎn)。根據(jù)另一方面可以規(guī)定,自適應(yīng)的調(diào)度器將可供多個(gè)線程使用的時(shí)間片(timeslicing)分區(qū),從而在該時(shí)間片內(nèi)把可配置份額的預(yù)算或運(yùn)行時(shí)間配額讓給這些線程。在該運(yùn)行時(shí)間配額內(nèi),也通過在最低層級(jí)上的搶占式的調(diào)度器借助于多個(gè)線程的優(yōu)先級(jí)給這些線程分配計(jì)算時(shí)間。這種設(shè)計(jì)相應(yīng)于大型多應(yīng)用系統(tǒng)的常見應(yīng)用情況,這些多應(yīng)用系統(tǒng)按照所擁有的實(shí)時(shí)操作系統(tǒng)qnx的模式為各個(gè)線程保證了固定的運(yùn)行時(shí)間配額。根據(jù)另一方面可以規(guī)定,在第二層級(jí)上,代替自適應(yīng)的分區(qū)-調(diào)度器,享有特權(quán)的管理過程借助于操作系統(tǒng)內(nèi)核監(jiān)視通過多個(gè)線程觸發(fā)的操作事件,并且,借助于這些操作事件來控制多個(gè)線程,從而在該時(shí)間片內(nèi)把可配置的運(yùn)行時(shí)間讓給這些線程。這種設(shè)計(jì)相應(yīng)于小型多應(yīng)用系統(tǒng)的常見應(yīng)用情況,這些多應(yīng)用系統(tǒng)—與在汽車電子中廣泛采用的實(shí)時(shí)操作系統(tǒng)rta-os相仿—以在各個(gè)線程的層級(jí)上的硬性的實(shí)時(shí)要求和嚴(yán)格的確定性為特點(diǎn)。在此不言而喻地,可以在不偏離本發(fā)明的范疇情況下,針對每個(gè)時(shí)間片不同地選擇在第二層級(jí)上采用的調(diào)度器。附圖說明本發(fā)明的一些實(shí)施例在附圖中示出,并在后續(xù)的說明中予以詳述。其中:圖1示出多個(gè)調(diào)度方案的根據(jù)本發(fā)明的不同組合;圖2示出在一種實(shí)施方式中采用的優(yōu)先級(jí)調(diào)度;圖3示出在一種實(shí)施方式中采用的時(shí)間片調(diào)度;圖4示出在一種實(shí)施方式中采用的分區(qū)調(diào)度;圖5示出在一種實(shí)施方式中進(jìn)行的監(jiān)視和控制;圖6為根據(jù)第一實(shí)施方式的方法的流程圖;圖7示意性地示出根據(jù)本發(fā)明的第二實(shí)施方式的控制器。具體實(shí)施方式圖1示出一種方法,以便表明在軟件運(yùn)行時(shí)間環(huán)境中在具有異構(gòu)時(shí)間特性的多個(gè)應(yīng)用情況下的在時(shí)間上的無干擾性(freedomfrominterference,ffi)。該方法利用了用于線程的在圖2中示出的基于優(yōu)先級(jí)的搶占式的調(diào)度器(11)。該方法還采用了根據(jù)圖3的時(shí)間片-調(diào)度器(13)??梢越o每個(gè)時(shí)間片(1、2、3)都分派由一個(gè)或多個(gè)任務(wù)構(gòu)成的線程。這些時(shí)間片(1、2、3)按照可配置的、但恒定的時(shí)間間隔(30)有規(guī)律地重復(fù)。這些時(shí)間片(1、2、3)按照可配置的方式沿著這個(gè)周期性的時(shí)間段分布。在此,為每個(gè)時(shí)間片(1、2、3)都明確地且絕對地規(guī)定了相對于該時(shí)間段起點(diǎn)的開始時(shí)間點(diǎn)(t0)和結(jié)束時(shí)間點(diǎn)。該方法還采用了根據(jù)圖4的自適應(yīng)的優(yōu)先級(jí)-調(diào)度器(12)。在此,可以給在圖中標(biāo)出的運(yùn)行時(shí)間配額(40)分派由一個(gè)或多個(gè)任務(wù)構(gòu)成的線程。該運(yùn)行時(shí)間配額(40)—如圖4的圓形圖借助于示范性的份額因子所示—是與總共可供使用的時(shí)間片的時(shí)長成比例地(這里示范性地為:1)規(guī)定的。運(yùn)行時(shí)間配額(40)因而可以在時(shí)間片(1)內(nèi)在事先無法確定的時(shí)間點(diǎn)被充分利用。該方法還采用了根據(jù)圖5的管理過程(14),其目的包括監(jiān)視和控制(53)多個(gè)線程。該管理過程是一種按照對其功能可靠性和信息可靠性的最高要求發(fā)展出來的、因而被定級(jí)為可信賴的過程。該管理過程(14)先前相應(yīng)地按照如下基本假設(shè)被設(shè)計(jì)好:應(yīng)用過程(50)的全部要監(jiān)視的線程都不可信賴。該管理過程由操作系統(tǒng)內(nèi)核(51)得到關(guān)于這些線程的時(shí)間特性的全部所需要的信息。該操作系統(tǒng)內(nèi)核(51)滿足與所述管理過程(14)本身相同的對功能可靠性和信息可靠性的要求。該管理過程對這些線程的實(shí)際上的時(shí)間特性與可信賴的配置進(jìn)行連續(xù)的比較,所述時(shí)間特性采用可信賴的內(nèi)核(kernel)機(jī)理被通報(bào)給該管理過程。如果管理過程(14)表明相對于所希望的時(shí)間特性有偏差,它就將相應(yīng)的指令指配給操作系統(tǒng)內(nèi)核(51),以便消除錯(cuò)誤特性或者引入替代反應(yīng)。這些調(diào)度器(11、12、13、14),如圖1再一次地示出,可以按照層級(jí)次序相互組合。在此,這些調(diào)度器(11、12、13、14)被分派給不同的層級(jí)。每個(gè)層級(jí)且參照一個(gè)時(shí)間片都可以有最多一個(gè)調(diào)度器(11、12、13、14)。一個(gè)層級(jí)上的調(diào)度器(11、12、13、14)相比于處在低層層級(jí)上的所有調(diào)度器(11、12、13、14)具有絕對的優(yōu)先權(quán)。具有最高優(yōu)先權(quán)的最上面的層級(jí)包含時(shí)間片-調(diào)度器(13)。如果不需要這個(gè)算法,則也可以省去該層級(jí)。這相當(dāng)于采用了具有無限長的時(shí)間片(1、2、3)的仿佛無限的時(shí)間段??蛇x的中間的層級(jí)可以針對每個(gè)時(shí)間片(1、2、3)形成優(yōu)先級(jí)-調(diào)度器(12),或者通過管理過程(14)形成上述監(jiān)視和控制(53)。具有最小優(yōu)先權(quán)(10)的最下面的層級(jí)形成基于優(yōu)先級(jí)的搶占式的調(diào)度器(11)。通過這種方式,特別是可以實(shí)施前述的典型的應(yīng)用情況(15、16、17)。圖6示出該方法(60)在一個(gè)單個(gè)的時(shí)間片(1、2、3)的時(shí)長內(nèi)的粗略地簡化的、示范性的流程,其中,在最下面的層級(jí)上采用了搶占式的第一調(diào)度器(11),在中間的層級(jí)上采用了自適應(yīng)性的第二調(diào)度器(12),在最上面的層級(jí)上采用了第三調(diào)度器(13)。由此,第三調(diào)度器(13)把時(shí)間片(1、2、3)分派給多個(gè)線程(步驟61)。第二調(diào)度器(12)也對分派的時(shí)間片(1、2、3)予以分區(qū)(步驟62),從而在時(shí)間片(1、2、3)內(nèi)把可配置份額的運(yùn)行時(shí)間配額(40)讓給這些線程。最后,在該運(yùn)行時(shí)間配額(40)內(nèi),通過第一調(diào)度器(11)借助于其相應(yīng)的優(yōu)先級(jí)(20)給這些線程分配(步驟63)計(jì)算時(shí)間(t)。該方法(60)例如可以采用軟件或硬件或者采用軟件和硬件的混合形式例如在控制器(70)中實(shí)施,如圖7的示意圖所示。當(dāng)前第1頁12當(dāng)前第1頁12