專利名稱:對受保護對象進行嵌套處理的方法及裝置的制作方法
技術(shù)領(lǐng)域:
本申請涉及嵌入式系統(tǒng)領(lǐng)域,特別是涉及一種基于OSEK/VDX (Open Systems andthe corresponding interfaces for automotive electronics/vehicle distributedexecutive,汽車電子類開放系統(tǒng)和對應(yīng)接口標準/汽車分布式執(zhí)行標準)標準的對受保護對象進行嵌套處理的方法及裝置。
背景技術(shù):
目前,汽車電子行業(yè)多采用符合0SEK/VDX標準的嵌入式實時操作系統(tǒng)來開發(fā)和設(shè)計汽車上使用的嵌入式微控制器。0SEK/VDX標準規(guī)定了操作系統(tǒng)應(yīng)具備資源管理的功能,用于解決嵌入式實時操作系統(tǒng)內(nèi)多個任務(wù)或中斷服務(wù)函數(shù)(中斷服務(wù)函數(shù)的優(yōu)先級高于一切任務(wù)的優(yōu)先級)對同一個資源進行占用時產(chǎn)生的共享問題。在嵌入式實時操作系統(tǒng)中,一個資源對應(yīng)一個受保護的對象,這個對象可以是嵌入式系統(tǒng)中的任何事物,如可以是一個設(shè)備、一段代碼或一個變量等等。如果一個任務(wù)或中斷服務(wù)函數(shù)的執(zhí)行是要對某個資源對應(yīng)的受保護的對象進行處理或使用,該任務(wù)或中斷服務(wù)函數(shù)必須先占用該資源,以實現(xiàn)對受保護對象的保護,也就是說,一旦該資源被某個任務(wù)或者中斷服務(wù)函數(shù)占用,就意味著受保護對象開始被處理,而在該資源被釋放前(即在對受保護對象的處理完成之前),該資源不能被其它任務(wù)或中斷服務(wù)函數(shù)占用(即該受保護的對象不能被其它任務(wù)或中斷服務(wù)函數(shù)處理或使用)。上述對受保護對象進行處理的過程涉及到資源管理,0SEK/VDX標準對資源管理的策略按照“優(yōu)先級天花板協(xié)議”制定,即:(I)對嵌入式實時操作系統(tǒng)內(nèi)的每個資源分配一個天花板優(yōu)先級,該天花板優(yōu)先級要大于或等于系統(tǒng)中所有使用該資源的任務(wù)或中斷服務(wù)函數(shù)的靜態(tài)優(yōu)先級;(2)任何一個任務(wù)或中斷服務(wù)函數(shù)在占用某個資源時,占用該資源的任務(wù)或中斷服務(wù)函數(shù)的優(yōu)先級就會由其原來的靜態(tài)優(yōu)先級提升到該資源的天花板優(yōu)先級上,從而使其它想要占用該資源的任務(wù)和中斷服務(wù)函數(shù)在該資源被占用期間無法執(zhí)行;(3) 一旦該資源被釋放,占用該資源的任務(wù)或中斷服務(wù)函數(shù)的優(yōu)先級恢復(fù)到占用該資源之前的靜態(tài)優(yōu)先級,其它可以占用該資源的任務(wù)或中斷服務(wù)函數(shù)才可以占用該資源以獲得執(zhí)行。嵌入式實時操作系統(tǒng)中存在多種資源,其中,標準資源是最常用的一種資源,任務(wù)或中斷服務(wù)函數(shù)可以通過占用和釋放標準資源實現(xiàn)對嵌入式實時系統(tǒng)中某個對象進行保護和解保護。由于0SEK/VDX標準規(guī)定,嵌入式實時操作系統(tǒng)應(yīng)嚴格禁止任何對資源的嵌套占用(即任務(wù)或中斷服務(wù)函數(shù)不能在資源被占用的情況下再次占用該資源),但是,在某些任務(wù)或中斷服務(wù)函數(shù)又希望在能夠保證應(yīng)用程序執(zhí)行正確有序的情況下,對資源的保護對象進行嵌套處理,因此,為了滿足這種需求,0SEK/VDX標準又規(guī)定了另一種資源,即鏈接資源,用于實現(xiàn)對受保護對象的嵌套處理。假設(shè)任務(wù)A希望對某個資源Rl的受保護對象進行嵌套處理,那么,不能使該任務(wù)A直接嵌套占用資源R1,而是在操作系統(tǒng)中建立另一個資源R2,并將資源R2鏈接到資源Rl上,以保證資源R2和資源Rl的保護對象為同一個保護對象。當需要對受保護的對象進行嵌套處理時,任務(wù)A先占用資源R1,在不釋放資源Rl的情況下,再占用資源R2。由于在嵌入式實時操作系統(tǒng)中資源R2和資源Rl的保護對象為同一個保護對象,所以這種方式既實現(xiàn)了對受保護對象的嵌套處理,同時也沒有違反OSEK/VDX標準的規(guī)定,資源R2就是資源Rl的鏈接資源。而由于鏈接資源與標準資源間存在差異,因此,嵌入式實時操作系統(tǒng)的開發(fā)設(shè)計人員需要在嵌入式實時操作系統(tǒng)中建立專門用于控制鏈接資源的數(shù)據(jù)結(jié)構(gòu),或者在控制標準資源的數(shù)據(jù)結(jié)構(gòu)中添加用于處理鏈接資源的屬性,同時在嵌入式實時操作系統(tǒng)的運行過程中,也需要單獨對連接資源做特殊的運算和處理,這將增加資源管理的復(fù)雜度,在嵌入式實時操作系統(tǒng)的實際運行時,會降低資源管理的效率。另外,資源管理復(fù)雜度的增加,使得嵌入式實時操作系統(tǒng)中的代碼量增加,占用了更多的存儲空間,使得用戶的應(yīng)用程序可占用的空間減小。
發(fā)明內(nèi)容
為解決上述技術(shù)問題,本申請實施例提供一種對受保護對象進行嵌套處理的方法,以降低資源管理的復(fù)雜度,提高資源管理的效率。技術(shù)方案如下:一種對受保護對象進行嵌套處理的方法,應(yīng)用于嵌入式實時操作系統(tǒng),所述受保護對象對應(yīng)至少兩個標準資源,所述至少兩個標準資源的天花板優(yōu)先級依次相鄰排列,其中,天花板優(yōu)先級最低的標準資源的天花板優(yōu)先級高于一切占用所述至少兩個標準資源的任務(wù)或中斷服務(wù)函數(shù)的優(yōu)先級,所述方法包括:任務(wù)或中斷服務(wù)函數(shù)占用所述天花板優(yōu)先級最低的標準資源,同時所述任務(wù)或中斷服務(wù)函數(shù)的優(yōu)先級被標示為所述天花板優(yōu)先級最低的標準資源的天花板優(yōu)先級;所述任務(wù)或中斷服務(wù)函數(shù)對所述受保護對象進行第一處理;當所述任務(wù)或中斷服務(wù)函數(shù)需要對所述受保護對象進行嵌套處理時,所述嵌套處理的過程為:所述任務(wù)或中斷服務(wù)函數(shù)中斷當前處理,并占用與當前占用的第一標準資源的優(yōu)先級相鄰的第二標準資源,同時所述任務(wù)或中斷服務(wù)函數(shù)的優(yōu)先級被標示為所述第二標準資源的天花板優(yōu)先級;所述任務(wù)或中斷服務(wù)函數(shù)對所述受保護對象進行第二處理。上述方法,優(yōu)選的,還包括:在當前處理完成時,所述任務(wù)或中斷服務(wù)函數(shù)釋放當前處理所占用的第二標準資源,所述任務(wù)或中斷服務(wù)函數(shù)的優(yōu)先級被標示為占用所述第二標準資源之前的優(yōu)先級。上述方法,優(yōu)選的,在當前級別的嵌套處理完成時,所述任務(wù)或中斷服務(wù)函數(shù)釋放所述第二標準資源,所述任務(wù)或中斷服務(wù)函數(shù)的優(yōu)先級被標示為所述第一標準資源的天花板優(yōu)先級,同時所述任務(wù)或中斷服務(wù)函數(shù)恢復(fù)占用所述第一標準資源時對所述受保護對象進行的處理。上述方法,優(yōu)選的,當所述當前處理為第一處理,且所述第一處理完成時,所述任務(wù)或中斷服務(wù)函數(shù)釋放所述天花板優(yōu)先級最低的標準資源,所述任務(wù)或中斷服務(wù)函數(shù)的優(yōu)先級被標示為占用所述天花板優(yōu)先級最低的標準資源之前所述任務(wù)或中斷服務(wù)函數(shù)的優(yōu)先級。上述方法,優(yōu)選的,還包括:預(yù)先依據(jù)任務(wù)和中斷服務(wù)函數(shù)的優(yōu)先級為所述嵌入式實時操作系統(tǒng)內(nèi)的所有標準資源分配天花板優(yōu)先級:依據(jù)中斷服務(wù)函數(shù)的優(yōu)先級確定與所述中斷服務(wù)函數(shù)對應(yīng)的標準資源的天花板優(yōu)先級;依據(jù)任務(wù)的優(yōu)先級確定與所述任務(wù)對應(yīng)的標準資源的天花板優(yōu)先級,并獲得新的任務(wù)優(yōu)先級列表;依據(jù)所述新的任務(wù)優(yōu)先級序列確定鏈接資源的天花板優(yōu)先級。一種對受保護對象進行嵌套處理的裝置,應(yīng)用于嵌入式實時操作系統(tǒng),所述受保護對象對應(yīng)至少兩個標準資源,所述至少兩個標準資源的天花板優(yōu)先級依次相鄰排列,其中,天花板優(yōu)先級最低的標準資源的天花板優(yōu)先級高于一切占用所述至少兩個標準資源的任務(wù)或中斷服務(wù)函數(shù)的優(yōu)先級,所述裝置包括:占用模塊,用于提供第一接口程序,任務(wù)或中斷服務(wù)函數(shù)通過所述第一接口程序占用所述天花板優(yōu)先級最低的標準資源;第一標示模塊,用于在所述任務(wù)或中斷服務(wù)函數(shù)占用所述天花板優(yōu)先級最低的標準資源時,將所述任務(wù)或中斷服務(wù)函數(shù)的優(yōu)先級標示為所述天花板優(yōu)先級最低的標準資源的天花板優(yōu)先級;嵌套處理模塊,包括:占用單元,用于提供第二接口程序,所示任務(wù)或中斷服務(wù)函數(shù)需要對所述受保護對象進行嵌套處理時,中斷當前處理,并通過所述第二接口程序占用與當前占用的第一標準資源的天花板優(yōu)先級相鄰的第二標準資源;第一標示單元,用于在所述任務(wù)或中斷服務(wù)函數(shù)占用所述第二標準資源時,將所述任務(wù)或中斷服務(wù)函數(shù)的優(yōu)先級標示為所述第二標準資源的天花板優(yōu)先級;其中,所述任務(wù)或中斷服務(wù)函數(shù)通過所述第一接口程序占用所述天花板優(yōu)先級最低的標準資源后,對所述受保護對象進行第一處理;所述任務(wù)或中斷服務(wù)函數(shù)通過所述第二接口程序占用所述第二標準資源后,對所述受保護對象進行第二處理。上述裝置,優(yōu)選的,所述嵌套處理模塊還包括:釋放單元,用于提供第三接口程序,所述任務(wù)或中斷服務(wù)函數(shù)在當前級別的嵌套處理完成時,通過所述第三接口程序釋放所述第二標準資源;第二標示單元,用于在所述任務(wù)或中斷服務(wù)函數(shù)通過所述第三接口程序釋放所述第二標準資源時,將所述任務(wù)或中斷服務(wù)函數(shù)的優(yōu)先級標示為所述第一標準資源的優(yōu)先級;其中,所述任務(wù)或中斷服務(wù)函數(shù)通過所述第三接口程序釋放所述第二標準資源后,恢復(fù)占用所述第一標準資源時對所述受保護對象進行的處理。上述裝置,優(yōu)選的,還包括:釋放模塊,用于提供第四接口程序,所述任務(wù)或中斷服務(wù)函數(shù)在當前處理為第一處理,且所述第一處理完成時,通過所述第四接口程序釋放所述天花板優(yōu)先級最低的標準資源;第二標示模塊,用于當所述任務(wù)或中斷服務(wù)函數(shù)通過所述第四接口程序釋放所述天花板優(yōu)先級最低的標準資源時,將所述任務(wù)或中斷服務(wù)函數(shù)的優(yōu)先級標示為占用所述天花板優(yōu)先級最低的標準資源之前所述任務(wù)或中斷服務(wù)函數(shù)的優(yōu)先級。
上述裝置,優(yōu)選的,還包括:配置模塊,用于預(yù)先依據(jù)任務(wù)和中斷服務(wù)函數(shù)的優(yōu)先級為所述嵌入式實時操作系統(tǒng)內(nèi)的所有標準資源分配天花板優(yōu)先級,包括:依據(jù)中斷服務(wù)函數(shù)的優(yōu)先級確定與所述中斷服務(wù)函數(shù)對應(yīng)的標準資源的天花板優(yōu)先級;依據(jù)任務(wù)的優(yōu)先級確定與所述任務(wù)對應(yīng)的標準資源的天花板優(yōu)先級,并獲得新的任務(wù)優(yōu)先級列表;依據(jù)所述新的任務(wù)優(yōu)先級序列確定鏈接資源的天花板優(yōu)先級。由以上本申請實施例提供的技術(shù)方案可見,本發(fā)明提供的一種對受保護對象進行嵌套處理的方法,應(yīng)用于嵌入式實時操作系統(tǒng),所述受保護對象對應(yīng)至少兩個標準資源,包括第一標準資源,第二標準資源,……,第N (N為正整數(shù))標準資源;所述至少兩個標準資源的天花板優(yōu)先級依次相鄰排列,其中,所述第一標準資源的天花板優(yōu)先級最低,所述第一資源的天花板優(yōu)先級高于一切占用所述至少兩個標準資源的任務(wù)或中斷服務(wù)函數(shù)的優(yōu)先級,所述方法包括:任務(wù)或中斷服務(wù)函數(shù)占用所述第一標準資源,同時所述任務(wù)或中斷服務(wù)函數(shù)的優(yōu)先級被標示為所述第一標準資源的天花板優(yōu)先級;所述任務(wù)或中斷服務(wù)函數(shù)對所述受保護對象進行第一處理;所述任務(wù)或中斷服務(wù)函數(shù)需要對所述受保護對象進行第一嵌套處理時,所述任務(wù)或中斷服務(wù)函數(shù)中斷所述第一處理,并占用所述第二標準資源,同時所述任務(wù)或中斷服務(wù)函數(shù)的優(yōu)先級被標示為所述第二標準資源的天花板優(yōu)先級;所述任務(wù)或中斷服務(wù)函數(shù)對所述受保護對象進行第二處理。由此可知,本申請實施例提供的對受保護對象進行嵌套處理的方法,為需要嵌套處理的受保護對象分配至少兩個標準資源,每個標準資源有不同的天花板優(yōu)先級,在進行嵌套處理時,通過占用天花板優(yōu)先級更高的標準資源來對受保護對象進行嵌套處理,也就是說,本方案中的鏈接資源就是標準資源,即本方案將鏈接資源以普通標準資源的形式進行管理,在系統(tǒng)中不用設(shè)置專門用于控制鏈接資源的數(shù)據(jù)結(jié)構(gòu),也不用在控制標準資源(這里的標準資源是相對鏈接資源來說的)的數(shù)據(jù)結(jié)構(gòu)中添加用于處理鏈接資源的屬性,因此降低了資源管理的復(fù)雜度,提高了嵌入式實時操作系統(tǒng)在實際運行時,資源管理的效率。進一步的,由于降低了資源管理的復(fù)雜度,嵌入式實時操作系統(tǒng)內(nèi)的代碼量相應(yīng)減小,節(jié)省了存儲空間,為用戶的應(yīng)用程序提供了更多的存儲空間。
為了更清楚地說明本申請實施例中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請中記載的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1為本申請實施例提供的對受保護對象進行嵌套處理的方法的流程圖2為本申請實施例提供的另一種對受保護對象進行嵌套處理的方法的流程圖;圖3為本申請實施例提供的為嵌入式實時操作系統(tǒng)內(nèi)的所有標準資源分配天花板優(yōu)先級的分配流程圖;圖4為本申請實施例提供的一種對受保護對象進行處理的裝置的結(jié)構(gòu)示意圖;圖5為本申請實施例提供的另一種對受保護對象進行處理的裝置的結(jié)構(gòu)示意圖;圖6為本申請實施了提供的又一種對受保護對象進行嵌套處理的裝置的結(jié)構(gòu)示意圖;圖7為本申請實施了提供的又一種對受保護對象進行處理的裝置的結(jié)構(gòu)示意圖;圖8為本申請實施了提供的界面化配置工具中一種資源配置界面的資源類型選擇界面;圖9為本申請實施了提供的界面化配置工具中另一種資源配置界面的資源類型選擇界面;圖10為本申請實施了提供的向任務(wù)或中斷服務(wù)函數(shù)分配資源的資源列表選擇界面;圖11為本申請實施了提供的本申請實施例提供的對受保護對象進行一級嵌套處理時,各個標準資源以及受保護對象之間的邏輯關(guān)系圖;圖12為本申請實施了提供的對受保護對象進行三級嵌套處理時,各個標準資源以及受保護對象之間的邏輯關(guān)系圖。為了圖示的簡單和清楚,以上附圖示出了結(jié)構(gòu)的普通形式,并且為了避免不必要的模糊本發(fā)明,可以省略已知特征和技術(shù)的描述和細節(jié)。另外,附圖中的單元不必要按照比例繪制。例如,可以相對于其他單元放大圖中的一些單元的尺寸,從而幫助更好的理解本發(fā)明的實施例。不同附圖中的相同標號表示相同的單元。說明書和權(quán)利要求書及上述附圖中的術(shù)語“第一”、“第二”、“第三” “第四”等(如果存在)是用于區(qū)別類似的單元或過程,而不必用于描述特定的順序或先后次序。應(yīng)該理解這樣使用的數(shù)據(jù)在適當情況下可以互換,以便這里描述的本發(fā)明的實施例例如能夠以除了在這里圖示的或否則描述的那些以外的順序?qū)嵤4送?,術(shù)語“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,以便包含一系列單元的過程、方法、系統(tǒng)、產(chǎn)品或設(shè)備不必限于那些單元,而是可以包括沒有清楚地列出的或?qū)τ谶@些過程、方法、產(chǎn)品或設(shè)備固有的其它單元。
具體實施例方式為了使本技術(shù)領(lǐng)域的人員更好地理解本申請方案。下面將結(jié)合本申請實施例中的附圖,對本申請實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本申請一部分實施例,而不是全部的實施例。基于本申請中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都應(yīng)當屬于本申請保護的范圍。本申請實施例提供的對受保護對象進行嵌套處理的方法應(yīng)用于嵌入式實時操作系統(tǒng),在嵌入式實時操作系統(tǒng)中,受保護對象對應(yīng)至少兩個標準資源,所述至少兩個標準資源的天花板優(yōu)先級依次相鄰排列,其中,天花板優(yōu)先級最低的標準資源的天花板優(yōu)先級高于一切占用所述至少兩個標準資源的任務(wù)或中斷服務(wù)函數(shù)的優(yōu)先級。
其中,所述至少兩個標準資源中,除所述天花板優(yōu)先級最低的標準資源為標準資源外,其它標準資源都為鏈接資源。受保護對象對應(yīng)的標準資源的數(shù)目,依據(jù)需要對受保護對象進行嵌套處理的級數(shù)確定,具體的,受保護對象對應(yīng)的標準資源的數(shù)目等于需要對受保護對象進行嵌套處理的級數(shù)加I,具體可以根據(jù)公式(I)計算:N=L+1(I)其中,N為受保護對象對應(yīng)的標準資源的數(shù)目;L為需要對受保護對象進行嵌套處理的級數(shù)。例如,如果要對受保護對象進行I級嵌套處理,則,該受保護對象對應(yīng)的標準資源的數(shù)目為2,如果要對受保護對象進行3級嵌套處理,那么,該受保護對象對應(yīng)的標準資源的數(shù)目就為4,如果要對受保護對象進行M級嵌套處理,那么,該受保護對象對應(yīng)的標準資源的數(shù)目就為M+1。至少兩個標準資源的天花板優(yōu)先級依次相鄰排列是指所述至少兩個標準資源的天花板優(yōu)先級是連續(xù)的,如,假設(shè)受保護對象對應(yīng)的標準資源數(shù)目為N,天花板優(yōu)先級最低的標準資源的天花板優(yōu)先級為a,那么,受保護對象對應(yīng)的其它標準資源(即N-1個標準資源,屬于鏈接資源)的天花板優(yōu)先級依次為a+1,a+2,a+3,……,a+N-2, a+N_l。本申請實施例提供的一種對受保護對象進行嵌套處理的方法的流程圖如圖1所示,包括:步驟SlOl:任務(wù)或中斷服務(wù)函數(shù)占用所述天花板優(yōu)先級最低的標準資源,同時所述任務(wù)或中斷服務(wù)函數(shù)的優(yōu)先級被標示為所述天花板優(yōu)先級最低的標準資源的天花板優(yōu)先級;所述任務(wù)或中斷服務(wù)函數(shù)是指與所述受保護對象對應(yīng)的任務(wù)或中斷服務(wù)函數(shù),SP對所述受保護對象進行處理的任務(wù)或中斷服務(wù)函數(shù);步驟S102:所述任務(wù)或中斷服務(wù)函數(shù)對所述受保護對象進行第一處理;也就是說,初次對受保護對象進行處理時,所述任務(wù)或中斷服務(wù)函數(shù)通過占用天花板優(yōu)先級最低的標準資源來對受保護對象進行第一處理,第一處理為非嵌套處理。步驟S103:判斷是否需要對所述受保護對象進行嵌套處理,如果是則執(zhí)行步驟S104 ;如果否,則執(zhí)行步驟S106 ;步驟S104:所述任務(wù)或中斷服務(wù)函數(shù)中斷當前處理,并占用與當前占用的第一標準資源的優(yōu)先級相鄰的第二標準資源,同時所述任務(wù)或中斷服務(wù)函數(shù)的優(yōu)先級被標示為所述第二標準資源的天花板優(yōu)先級;在占用第二標準資源時,任務(wù)或中斷服務(wù)函數(shù)并不會釋放之前對受保護對象進行處理時占用的標準資源,也就是說在占用第一標準資源的同時還會占用第二標準資源。需要說明的是,這里的“第一”和“第二”只是為了區(qū)分兩個標準資源,而不必用于描述特定的順序或先后次序。步驟S105:所述任務(wù)或中斷服務(wù)函數(shù)對所述受保護對象進行第二處理。步驟S104-步驟S105即對受保護對象進行嵌套處理的過程,這里的第二處理即對受保護對象進行的嵌套處理,在第一處理的基礎(chǔ)上對受保護對象進行的第二處理為第一級嵌套處理,而在對受保護對象進行第一級 嵌套處理后,可能還需要再次對受保護對象進行嵌套處理,那么,在第一級嵌套處理的基礎(chǔ)上對受保護對象進行的第二處理為第二級嵌套處理,依次類推,在第M-1級嵌套處理的基礎(chǔ)上對受保護對象進行的第二處理為第M級嵌套處理。也就是說,所述第二處理不單單指第一級嵌套處理,也可以是指第二級嵌套處理
或第三級嵌套處理等等。在進行第二嵌套處理的過程中還可以判斷是否還需要嵌套處理,即執(zhí)行步驟S103,如果是,則再次執(zhí)行步驟S104及步驟S105。步驟S106:判斷當前處理是否完成,如果是,則執(zhí)行步驟S107 ;步驟S107:所述任務(wù)或中斷服務(wù)函數(shù)釋放進行當前處理所占用的標準資源,所述任務(wù)或中斷服務(wù)函數(shù)的優(yōu)先級被標示為占用該釋放的標準資源之前的優(yōu)先級。被釋放的標準資源可以被其它任務(wù)或中斷服務(wù)函數(shù)占用。在對受保護對象的處理(不管是嵌套處理還是非嵌套處理)完成時,任務(wù)或中斷服務(wù)函數(shù)需要釋放進行該處理所占用的資源。具體的,在對受保護對象的處理是嵌套處理時,釋放所占用的標準資源的過程為:在當前級別的嵌套處理完成時,任務(wù)或中斷服務(wù)函數(shù)釋放所述第二標準資源,所述任務(wù)或中斷服務(wù)函數(shù)的優(yōu)先級被標示為所述第一標準資源的天花板優(yōu)先級,同時,所述任務(wù)或中斷服務(wù)函數(shù)恢復(fù)占用所述第一標準資源時對所述受保護對象進行的處理。也就是說,在任務(wù)或中斷服務(wù)函數(shù)釋放所述第二標準資源時,任務(wù)或中斷服務(wù)函數(shù)天花板優(yōu)先級降低一個級別;而由于在進行當前級別的嵌套處理過程中,前一級別的嵌套處理或非嵌套處理中斷了,因此,在當前級別的嵌套處理完成,并釋放進行當前級別的嵌套處理而占用的標準資源時,恢復(fù)前一級別的嵌套處理或非嵌套處理的過程。當所述當前處理為第一處理(B卩非嵌套處理),且所述第一處理完成時,所述任務(wù)或中斷服務(wù)函數(shù)釋放所述天花板優(yōu)先級最低的標準資源,所述任務(wù)或中斷服務(wù)函數(shù)的優(yōu)先級被標示為占用所述天花板優(yōu)先級最低的標準資源之前所述任務(wù)或中斷服務(wù)函數(shù)的優(yōu)先級。所述天花板優(yōu)先級最低的標準資源被釋放后,可以被其它任務(wù)或中斷服務(wù)函數(shù)占用。本申請實施例提供的一種對受保護對象進行嵌套處理的方法,為需要嵌套處理的受保護對象分配至少兩個標準資源,每個標準資源有不同的天花板優(yōu)先級,在進行嵌套處理時,通過占用天花板優(yōu)先級更高的標準資源來對受保護對象進行嵌套處理,也就是說,本方案中的鏈接資源就是標準資源,即將鏈接資源以普通標準資源的形式進行管理,只需為鏈接資源分配相應(yīng)的天花板優(yōu)先級即可,在系統(tǒng)中不用設(shè)置專門用于控制鏈接資源的數(shù)據(jù)結(jié)構(gòu),也不用在控制標準資源(這里的標準資源是相對鏈接資源來說的)的數(shù)據(jù)結(jié)構(gòu)中添加用于處理鏈接資源的屬性,因此降低了資源管理的復(fù)雜度,提高了嵌入式實時操作系統(tǒng)在實際運行時,資源管理的效率。在圖1所示實施例的基礎(chǔ)上,本申請實施例提供的另一種對受保護對象進行嵌套處理的方法的流程圖如圖2所示,在步驟SlOl之前還包括:步驟S201:預(yù)先依據(jù)嵌入式實時操作系統(tǒng)內(nèi)所有任務(wù)和中斷服務(wù)函數(shù)的優(yōu)先級為所述嵌入式實時操作系統(tǒng)內(nèi)的所有標準資源分配天花板優(yōu)先級,具體分配流程圖見圖3,包括:步驟S2011:依據(jù)中斷服務(wù)函數(shù)的優(yōu)先級確定與所述中斷服務(wù)函數(shù)對應(yīng)的標準資源(屬性為標準資源的標準資源)的天花板優(yōu)先級,可以包括:從優(yōu)先級最高的中斷服務(wù)函數(shù)開始,判斷當前的中斷服務(wù)函數(shù)是否使用了標準資源(即用戶是否為該中斷服務(wù)函數(shù)分配了標準資源),如果是(即用戶為該中斷服務(wù)函數(shù)分配了標準資源),則判斷該標準資源是否被其它優(yōu)先級更高的中斷服務(wù)函數(shù)使用,如果該標準資源被其它優(yōu)先級更高的中斷服務(wù)函數(shù)使用,則不改變該標準資源的天花板優(yōu)先級,如果該標準資源沒有被其它優(yōu)先級更高的中斷服務(wù)函數(shù)使用,則將該標準資源的天花板優(yōu)先級設(shè)置為當前中斷服務(wù)函數(shù)的優(yōu)先級;如果當前的中斷服務(wù)函數(shù)沒有使用標準資源,則不作任何操作。重復(fù)上述過程,直到遍歷所有中斷服務(wù)函數(shù)。步驟S2012:依據(jù)任務(wù)的優(yōu)先級確定與所述任務(wù)對應(yīng)的標準資源(屬性為標準資源的標準資源)的天花板優(yōu)先級,可以包括:從優(yōu)先級最高的任務(wù)開始,判斷當前任務(wù)是否使用了非鏈接資源(標準資源),如果沒有使用,則不作任何操作,如果當前任務(wù)使用了非鏈接資源,則判斷該非鏈接資源是否被其它優(yōu)先級更高的中斷服務(wù)函數(shù)或任務(wù)使用,如果該非鏈接資源被其它優(yōu)先級更高的中斷服務(wù)函數(shù)或任務(wù)使用,則不作操作,如果該非鏈接資源沒有被其它優(yōu)先級更高的中斷服務(wù)函數(shù)或任務(wù)使用,則該非鏈接資源的天花板優(yōu)先級設(shè)置為當前任務(wù)的優(yōu)先級,并將當前任務(wù)及其后面所有的任務(wù)的優(yōu)先級向后推移一個優(yōu)先級。例如,假設(shè)當前任務(wù)的優(yōu)先級為A,該當前任務(wù)的后一個任務(wù)的優(yōu)先級為A-1,如果當前任務(wù)使用的非鏈接資源沒有被其它優(yōu)先級更高的中斷服務(wù)函數(shù)或任務(wù)使用,則,該當前任務(wù)所使用的非鏈接資源的天花板優(yōu)先級被設(shè)置為A,而,該當前任務(wù)的優(yōu)先級則變?yōu)锳-1,其后一個任務(wù)的優(yōu)先級則變?yōu)锳-2。重復(fù)上述過程,直到遍歷所有任務(wù)。經(jīng)過步驟S2012,任務(wù)的優(yōu)先級序列發(fā)生變化,獲得新的任務(wù)優(yōu)先級序列。步驟S2013:依據(jù)新的任務(wù)優(yōu)先級序列確定鏈接資源(即屬性為鏈接資源的標準資源)的天花板優(yōu)先級,可以包括:從新的任務(wù)優(yōu)先級序列中,優(yōu)先級最高的一個任務(wù)開始,判斷當前任務(wù)是否使用了鏈接資源,如果當前任務(wù)沒有使用鏈接資源,則不作操作,如果當前任務(wù)使用了鏈接資源,則判斷該鏈接資源(實質(zhì)是一個標準資源)是否被其它優(yōu)先級更高的中斷服務(wù)函數(shù)或任務(wù)使用,如果該鏈接資源被其它優(yōu)先級更高的中斷服務(wù)函數(shù)或任務(wù)使用,則不作操作,如果該鏈接資源沒有被其它優(yōu)先級更高的中斷服務(wù)函數(shù)或任務(wù)使用,則將該鏈接資源的天花板優(yōu)先級設(shè)置為該任務(wù)對應(yīng)的標準資源的天花板優(yōu)先級,并將該任務(wù)對應(yīng)的標準資源的天花板優(yōu)先級向后推移一個優(yōu)先級,同時,該任務(wù)對應(yīng)的標準資源后面的所有任務(wù)的優(yōu)先級和資源的天花板優(yōu)先級都向后推移一個優(yōu)先級。重復(fù)上述過程,直到遍歷所有任務(wù)。分配好優(yōu)先級后,嵌入式實時操作系統(tǒng)直接根據(jù)分配結(jié)果對受保護對象進行處理即可。優(yōu)選的,在確定鏈接資源的天花板優(yōu)先級后,可以獲取最終的任務(wù)優(yōu)先級列表,以更方便嵌入式實時操作系統(tǒng)對任務(wù)的調(diào)度。上述各個步驟中,任務(wù)或中斷服務(wù)函數(shù)是否使用資源,以及所使用資源的屬性(鏈接資源或非鏈接資源)是由用戶確定的,如為用戶提供配置界面,用戶只要在該界面中通過點選確定任務(wù)或中斷服務(wù)函數(shù)與資源的關(guān)系,以及資源的屬性即可,而資源的天花板優(yōu)先級的配置卻可以通過上述方法自動完成,與現(xiàn)有技術(shù)中,用戶需要手動為資源分配天花板優(yōu)先級相比,簡化了用戶的操作,提高了工作效率。本申請實施例還提供一種對受保護對象進行嵌套處理的裝置,應(yīng)用于嵌入式實時操作系統(tǒng),所述受保護對象對應(yīng)至少兩個標準資源,所述至少兩個標準資源的天花板優(yōu)先級依次相鄰排列,其中,天花板優(yōu)先級最低的標準資源的天花板優(yōu)先級高于一切占用所述至少兩個標準資源的任務(wù)或中斷服務(wù)函數(shù)的優(yōu)先級,本申請實施例提供的一種對受保護對象進行處理的裝置的結(jié)構(gòu)示意圖如圖4所示,包括:占用模塊401,第一標不模塊402和嵌套處理模塊403 ;占用模塊401用于提供第一接口程序,任務(wù)或中斷服務(wù)函數(shù)通過所述第一接口程序占用所述天花板優(yōu)先級最低的標準資源;所述任務(wù)或中斷服務(wù)函數(shù)通過所述第一接口程序占用所述天花板優(yōu)先級最低的標準資源后,對所述受保護對象進行第一處理;第一標示模塊402與所述占用模塊401相連接,用于在所述任務(wù)或中斷服務(wù)函數(shù)占用所述天花板優(yōu)先級最低的標準資源時,將所述任務(wù)或中斷服務(wù)函數(shù)的優(yōu)先級標示為所述天花板優(yōu)先級最低的標準資源的天花板優(yōu)先級;嵌套處理模塊403包括:占用單元4031,與所述占用模塊401相連接,用于提供第二接口程序,所述任務(wù)或中斷服務(wù)函數(shù)需要對所述受保護對象進行嵌套處理時,中斷當前處理,并通過所述第二接口程序占用與當前占用的第一標準資源的天花板優(yōu)先級相鄰的第二標準資源;所述任務(wù)或中斷服務(wù)函數(shù)通過所述第二接口程序占用所述第二標準資源后,對所述受保護對象進行第二處理。第一標示單元4032,與占用單元4031相連接,用于在所述任務(wù)或中斷服務(wù)函數(shù)占用所述第二標準資源時,將所述任務(wù)或中斷服務(wù)函數(shù)的優(yōu)先級標示為所述第二標準資源的天花板優(yōu)先級。占用單元4031可以包括多個接口程序,以便于所述任務(wù)或中斷服務(wù)函數(shù)可以占用其它鏈接資源,相應(yīng)的,所述第一標示單元4032也可以對所述任務(wù)或中斷服務(wù)函數(shù)進行多次標示,以便于對受保護對象進行多個級別的嵌套處理。所述第一接口程序和所述第二接口程序可以為同一個接口程序,也就是說,所述占用模塊401和所述占用單元4031的功能可以集成在同一個功能模塊中,即由同一個功能模塊來實現(xiàn)。同理,所述第一標示模塊402和所述第一標示單元4032的功能也可以集成在同一個功能模塊中,即由同一個功能模塊來實現(xiàn)。在圖4所示實施例的基礎(chǔ)上,本申請實施例提供的另一種對受保護對象進行處理的裝置的結(jié)構(gòu)示意圖如圖5所示,嵌套處理模塊403還包括:釋放單元501,與所述占用單元4031相連接,用于提供第三接口程序,所述任務(wù)或中斷服務(wù)函數(shù)在當前級別的嵌套處理完成時,通過所述第三接口程序釋放所述第二標準資源;所述任務(wù)或中斷服務(wù)函數(shù)通過所述第三接口程序釋放所述第二標準資源后,恢復(fù)占用所述第一標準資源時對所述受保護對象進行的處理。第二標示單元502,與所述釋放單元501相連接,用于在所述任務(wù)或中斷服務(wù)函數(shù)通過所述第三接口程序釋放所述第二標準資源時,將所述任務(wù)或中斷服務(wù)函數(shù)的優(yōu)先級標示為所述第一標準資源的優(yōu)先級。在圖5所示實施例的基礎(chǔ)上,本申請實施例提供的又一種對受保護對象進行嵌套處理的裝置的結(jié)構(gòu)示意圖如圖6所示,還包括:釋放模塊601,與所述占用模塊401相連接,用于提供第四接口程序,所述任務(wù)或中斷服務(wù)函數(shù)在當前處理為第一處理,且所述第一處理完成時,通過所述第四接口程序釋放所述天花板優(yōu)先級最低的標準資源;第二標示模塊602,與所述釋放模塊601相連接,用于當所述任務(wù)或中斷服務(wù)函數(shù)通過所述第四接口程序釋放所述天花板優(yōu)先級最低的標準資源時,將所述任務(wù)或中斷服務(wù)函數(shù)的優(yōu)先級標示為占用所述天花板優(yōu)先級最低的標準資源之前所述任務(wù)或中斷服務(wù)函數(shù)的優(yōu)先級。所述第三接口程序和所述第四接口程序可以為同一個接口程序,也就是說,所述釋放單元501和所述釋放模塊601的功能可以集成在同一個功能模塊中,即由同一個功能模塊來實現(xiàn)。同理,所述第二標示單元502和所述第二標示模塊602的功能也可以集成在同一個功能模塊中,即由同一個功能模塊來實現(xiàn)。在圖4所示實施例的基礎(chǔ)上,本申請實施例提供的又一種對受保護對象進行處理的裝置的結(jié)構(gòu)示意圖如圖7所示,還包括:配置模塊701,用于預(yù)先依據(jù)任務(wù)和中斷服務(wù)函數(shù)的優(yōu)先級為所述嵌入式實時操作系統(tǒng)內(nèi)的所有標準資源分配天花板優(yōu)先級,包括:
依據(jù)中斷服務(wù)函數(shù)的優(yōu)先級確定與所述中斷服務(wù)函數(shù)對應(yīng)的標準資源的天花板優(yōu)先級;依據(jù)任務(wù)的優(yōu)先級確定與所述任務(wù)對應(yīng)的標準資源的天花板優(yōu)先級,并獲得新的任務(wù)優(yōu)先級列表;依據(jù)所述新的任務(wù)優(yōu)先級序列確定鏈接資源的天花板優(yōu)先級。優(yōu)選的,在確定鏈接資源的天花板優(yōu)先級后,配置模塊701可以獲取最終的任務(wù)優(yōu)先級列表,以更方便嵌入式實時操作系統(tǒng)對任務(wù)的調(diào)度。優(yōu)選的,所述配置模塊701可以設(shè)置界面化配置工具,用于與用戶交互,如圖8-10所示;圖8-9為本申請實施例提供的界面化配置工具中資源配置界面的資源類型選擇界面,圖8中,用戶將資源Resourcel的資源類型(ResourceType)設(shè)置成了鏈接資源;圖9中,用戶將資源Resourcel到了資源Resource2上,也就是說資源Resource2為標準資源;圖10為向任務(wù)或中斷服務(wù)函數(shù)分配資的資源列表(ResourceList)選擇界面,圖10中,任務(wù)或中斷服務(wù)函數(shù)對應(yīng)有兩個標準資源,分別是標準資源Resource〗和鏈接資源Resourcel。需要說明的是,圖8-10僅僅是界面化配置工具的一部分的示例,本申請實施例提供的界面化配置工具并不限于圖8-10所示,還可以包括其它點選選項,如,應(yīng)用程序的各種需求,包括但不限于以下示例:任務(wù)需求,包括建立多少個任務(wù),每個任務(wù)的名稱、類型、優(yōu)先級、任務(wù)使用的資源、事件、消息的名稱等;計數(shù)器,建立多少個計數(shù)器,每個計數(shù)器的名稱、最大計數(shù)值、最小計數(shù)周期,等等。
用戶可以通過上述工具進行點選,為任務(wù)或中斷服務(wù)函數(shù)分配資源,以及所分配的資源的類型,配置模塊701根據(jù)用戶的點選結(jié)果(所述點選結(jié)果可以存儲在嵌入式實時操作系統(tǒng)的配置代碼中,所述配置代碼中存儲的是應(yīng)用程序的各種需求信息和優(yōu)先級信息,其中包括資源的類型及資源的天花板優(yōu)先級信息)就可以依據(jù)任務(wù)和中斷服務(wù)函數(shù)的優(yōu)先級為所述嵌入式實時操作系統(tǒng)內(nèi)的所有標準資源分配天花板優(yōu)先級了。下面結(jié)合具體實例,對本申請的實施例進行說明請參看圖11,圖11為本申請實施例提供的對受保護對象進行一級嵌套處理時,各個標準資源以及受保護對象之間的邏輯關(guān)系圖;如圖11所示,受保護對象1102對應(yīng)兩個標準資源,分別為第一標準資源1101和第二標準資源1103 ;其中,第二標準資源1103屬于鏈接資源,用于對受保護對象進行嵌套保護;第一標準資源1101的天花板優(yōu)先級高于一切占用第一標準資源1101的任務(wù)或中斷服務(wù)函數(shù)的優(yōu)先級;第一標準資源1101的天花板優(yōu)先級還高于一切占用第二標準資源1103的任務(wù)或中斷服務(wù)函數(shù)的優(yōu)先級;第一標準資源1101的天花板優(yōu)先級小于第二標準資源1103的天花板優(yōu)先級,且二者的天花板優(yōu)先級相鄰(如,如果第一標準資源的天花板優(yōu)先級為P,則第二標準資源的天花板優(yōu)先級為P+1);第二標準資源1103的天花板優(yōu)先級高于一切占用第二標準資源803的任務(wù)或中斷服務(wù)函數(shù)的優(yōu)先級;當任務(wù)或中斷服務(wù)函數(shù)需要對受保護對象1102處理時,首先占用第一標準資源1101,然后開始對受保護對象1102進行處理(記為第一處理),此時,所述任務(wù)或中斷服務(wù)函數(shù)的優(yōu)先級被標示為第一標準資源1101的天花板優(yōu)先級;在對受保護對象1102進行第一處理的過程中,當需要對受保護對象1102進行嵌套處理時,所述任務(wù)或中斷服務(wù)函數(shù)中斷第一處理,并占用第二標準資源1103,然后開始對受保護對象進行第二處理,該第二處理即是對受保護對象1102的嵌套處理,同時,所述任務(wù)或中斷服務(wù)函數(shù)的優(yōu)先級被標示為第二標準資源1103的優(yōu)先級;當?shù)诙幚硗瓿蓵r,所述任務(wù)或中斷服務(wù)函數(shù)釋放第二標準資源1103,同時所述任務(wù)或中斷服務(wù)函數(shù)的優(yōu)先級被標示為占用所述第二標準資源之前的優(yōu)先級,即所述任務(wù)或中斷服務(wù)函數(shù)的優(yōu)先級被標示為所述第一標準資源1101的天花板優(yōu)先級;并恢復(fù)第一處理過程;當?shù)谝惶幚硗瓿蓵r,所述任務(wù)或中斷服務(wù)函數(shù)釋放所述第一標準資源1101,同時,所述任務(wù)或中斷服務(wù)函數(shù)的優(yōu)先級被標示為占用所述第一標準資源1101之前的優(yōu)先級,即所述任務(wù)或中斷服務(wù)函數(shù)的優(yōu)先級被標示為所述任務(wù)或中斷服務(wù)函數(shù)所固有的優(yōu)先級。請參看圖12,圖12為本申請實例提供的對受保護對象進行三級嵌套處理時,各個標準資源以及受保護對象之間的邏輯關(guān)系圖;受保護對象1202對應(yīng)四個標準資源包括第三標準資源1201,第四標準資源1203,第五標準資源1204和第六標準資源1205 ;其中,第三標準資源1201屬于標準資源,而第四標準資源1203,第五標準資源1204和第六標準資源1205都屬于鏈接資源第三標準資源1201的天花板優(yōu)先級高于一切占用第三標準資源1201的任務(wù)或中斷服務(wù)函數(shù)的優(yōu)先級;同時,第三標準資源1201的天花板優(yōu)先級還高于一切占用第四標準資源1203,第五標準資源1204和第六標準資源1205的任務(wù)或中斷服務(wù)函數(shù)的優(yōu)先級;第三標準資源1201的天花板優(yōu)先級小于第四標準資源1203的天花板優(yōu)先級,第四標準資源1203的天花板優(yōu)先級小于第五標準資源1204的天花板優(yōu)先級,第五標準資源1204的天花板優(yōu)先級小于第六標準資源1205的天花板優(yōu)先級;所述第三標準資源1201、第四標準資源1203、第五標準資源1204和第六標準資源1205的天花板優(yōu)先級依次相鄰,例如,假設(shè)第三標準資源1201的天花板優(yōu)先級為P,那么,第四標準資源1203的天花板優(yōu)先級為p+1,第五標準資源1204的天花板優(yōu)先級為p+2,第六標準資源1205的天花板優(yōu)先級為p+3。而且,第N (N為四或五或六)標準資源的天花板優(yōu)先級還高于一切占用該第N標準資源的任務(wù)或中斷服務(wù)函數(shù)的優(yōu)先級。當任務(wù)或中斷服務(wù)函數(shù)需要對受保護對象1202進行處理時,任務(wù)或中斷服務(wù)函數(shù)首先占用第三標準資源1201,所述任務(wù)或中斷服務(wù)函數(shù)開始對受保護對象12902進行處理(記為第一處理);同時,該任務(wù)或中斷服務(wù)函數(shù)優(yōu)先級被標示為第三標準資源的天花板優(yōu)先級;在第一處理過程中,當所述任務(wù)或中斷服務(wù)函數(shù)需要對受保護對象1202進行嵌套處理時,所述任務(wù)或中斷服務(wù)函數(shù)中斷所述第一處理,并占有所述第四標準資源1203,所述任務(wù)或中斷服務(wù)函數(shù)對所述受保護對象1202進行第一級嵌套處理(記為第二處理),同時,所述任務(wù)或中斷服務(wù)函數(shù)的優(yōu)先級被標示所述第四標準資源1203的天花板優(yōu)先級;在第二處理過程中,當所述任務(wù)或中斷服務(wù)函數(shù)需要再次對受保護對象1202進行嵌套處理時,所述任務(wù)或中斷服務(wù)函數(shù)中斷所述第二處理,并占有所述第五標準資源1204,所述任務(wù)或中斷服務(wù)函數(shù)對所述受保護對象1202進行第二級嵌套處理(記為第三處理),同時,所述任務(wù)或中斷服務(wù)函數(shù)的優(yōu)先級被標示所述第五標準資源1204的天花板優(yōu)先級;在第三處理過程中,當所述任務(wù)或中斷服務(wù)函數(shù)還需要對受保護對象1202進行嵌套處理時,所述任務(wù)或中斷服務(wù)函數(shù)中斷所述第三處理,并占有所述第六標準資源1205,所述任務(wù)或中斷服務(wù)函數(shù)對所述受保護對象1202進行第三級嵌套處理(記為第四處理),同時,所述任務(wù)或中斷服務(wù)函數(shù)的優(yōu)先級被標示所述第六標準資源1205的天花板優(yōu)先級;當所述第四處理完成時,所述任務(wù)或中斷服務(wù)函數(shù)釋放所述第六標準資源1205,并恢復(fù)第三處理,同時所述任務(wù)或中斷服務(wù)函數(shù)的優(yōu)先級被標示為所述第五標準資源1204的天花板優(yōu)先級;當所述第三處理完成時,所述任務(wù)或中斷服務(wù)函數(shù)釋放所述第五標準資源1204,并恢復(fù)第二處理,同時所述任務(wù)或中斷服務(wù)函數(shù)的優(yōu)先級被標示為所述第四標準資源1203的天花板優(yōu)先級;當所述第二處理完成時,所述任務(wù)或中斷服務(wù)函數(shù)釋放所述第四標準資源1203,并恢復(fù)第一處理,同時所述任務(wù)或中斷服務(wù)函數(shù)的優(yōu)先級被標示為所述第三標準資源1201的天花板優(yōu)先級;當所述第一處理完成時,所述任務(wù)或中斷服務(wù)函數(shù)釋放所述第三標準資源1201,同時所述任務(wù)或中斷服務(wù)函數(shù)的優(yōu)先級被標示為占用所述第三標準資源1201之前,所述任務(wù)或中斷服務(wù)函數(shù)所固有的優(yōu)先級。需要說明的是,本申請?zhí)峁┑膶嵤├?,在確定優(yōu)先級時,數(shù)字越大,所述代表的優(yōu)先級越高。本說明書中的各個實施例均采用遞進的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。以上所述僅是本申請的具體實施方式
,應(yīng)當指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本申請原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應(yīng)視為本申請的保護范圍。
權(quán)利要求
1.一種對受保護對象進行嵌套處理的方法,應(yīng)用于嵌入式實時操作系統(tǒng),其特征在于,所述受保護對象對應(yīng)至少兩個標準資源,所述至少兩個標準資源的天花板優(yōu)先級依次相鄰排列,其中,天花板優(yōu)先級最低的標準資源的天花板優(yōu)先級高于一切占用所述至少兩個標準資源的任務(wù)或中斷服務(wù)函數(shù)的優(yōu)先級,所述方法包括: 任務(wù)或中斷服務(wù)函數(shù)占用所述天花板優(yōu)先級最低的標準資源,同時所述任務(wù)或中斷服務(wù)函數(shù)的優(yōu)先級被標示為所述天花板優(yōu)先級最低的標準資源的天花板優(yōu)先級; 所述任務(wù)或中斷服務(wù)函數(shù)對所述受保護對象進行第一處理; 當所述任務(wù)或中斷服務(wù)函數(shù)需要對所述受保護對象進行嵌套處理時,所述嵌套處理的過程為: 所述任務(wù)或中斷服務(wù)函數(shù)中斷當前處理,并占用與當前占用的第一標準資源的優(yōu)先級相鄰的第二標準資源,同時所述任務(wù)或中斷服務(wù)函數(shù)的優(yōu)先級被標示為所述第二標準資源的天花板優(yōu)先級; 所述任務(wù)或中斷服務(wù)函數(shù)對所述受保護對象進行第二處理。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括: 在當前處理完成時,所述任務(wù)或中斷服務(wù)函數(shù)釋放當前處理所占用的第二標準資源,所述任務(wù)或中斷服務(wù)函數(shù)的優(yōu)先級被標示為占用所述第二標準資源之前的優(yōu)先級。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,在當前級別的嵌套處理完成時,所述任務(wù)或中斷服務(wù)函數(shù)釋放所述第二標準資源,所述任務(wù)或中斷服務(wù)函數(shù)的優(yōu)先級被標示為所述第一標準資源的天花板優(yōu)先級,同時所述任務(wù)或中斷服務(wù)函數(shù)恢復(fù)占用所述第一標準資源時對所述受保護對象進行的處理。
4.根據(jù)權(quán)利要求2所述的方法,其特征在于,當所述當前處理為第一處理,且所述第一處理完成時,所述任務(wù)或中斷服務(wù)函數(shù)釋放所述天花板優(yōu)先級最低的標準資源,所述任務(wù)或中斷服務(wù)函數(shù)的優(yōu)先級被標示為占用所述天花板優(yōu)先級最低的標準資源之前所述任務(wù)或中斷服務(wù)函數(shù)的優(yōu)先級。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括:預(yù)先依據(jù)任務(wù)和中斷服務(wù)函數(shù)的優(yōu)先級為所述嵌入式實時操作系統(tǒng)內(nèi)的所有標準資源分配天花板優(yōu)先級: 依據(jù)中斷服務(wù)函數(shù)的優(yōu)先級確定與所述中斷服務(wù)函數(shù)對應(yīng)的標準資源的天花板優(yōu)先級; 依據(jù)任務(wù)的優(yōu)先級確定與所述任務(wù)對應(yīng)的標準資源的天花板優(yōu)先級,并獲得新的任務(wù)優(yōu)先級列表; 依據(jù)所述新的任務(wù)優(yōu)先級序列確定鏈接資源的天花板優(yōu)先級。
6.一種對受保護對象進行嵌套處理的裝置,應(yīng)用于嵌入式實時操作系統(tǒng),其特征在于,所述受保護對象對應(yīng)至少兩個標準資源,所述至少兩個標準資源的天花板優(yōu)先級依次相鄰排列,其中,天花板優(yōu)先級最低的標準資源的天花板優(yōu)先級高于一切占用所述至少兩個標準資源的任務(wù)或中斷服務(wù)函數(shù)的優(yōu)先級,所述裝置包括: 占用模塊,用于提供第一接口程序,任務(wù)或中斷服務(wù)函數(shù)通過所述第一接口程序占用所述天花板優(yōu)先級最低的標準資源; 第一標示模塊,用于在所述任務(wù)或中斷服務(wù)函數(shù)占用所述天花板優(yōu)先級最低的標準資源時,將所述任務(wù)或中斷服務(wù)函數(shù)的優(yōu)先級標示為所述天花板優(yōu)先級最低的標準資源的天花板優(yōu)先級; 嵌套處理模塊,包括: 占用單元,用于提供第二接口程序,所示任務(wù)或中斷服務(wù)函數(shù)需要對所述受保護對象進行嵌套處理時,中斷當前處理,并通過所述第二接口程序占用與當前占用的第一標準資源的天花板優(yōu)先級相鄰的第二標準資源; 第一標示單元,用于在所述任務(wù)或中斷服務(wù)函數(shù)占用所述第二標準資源時,將所述任務(wù)或中斷服務(wù)函數(shù)的優(yōu)先級標示為所述第二標準資源的天花板優(yōu)先級; 其中,所述任務(wù)或中斷服務(wù)函數(shù)通過所述第一接口程序占用所述天花板優(yōu)先級最低的標準資源后,對所述受保護對象進行第一處理; 所述任務(wù)或中斷服務(wù)函數(shù)通過所述第二接口程序占用所述第二標準資源后,對所述受保護對象進行第二處理。
7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述嵌套處理模塊還包括: 釋放單元,用于提供第三接口程序,所述任務(wù)或中斷服務(wù)函數(shù)在當前級別的嵌套處理完成時,通過所述第三接口程序釋放所述第二標準資源; 第二標示單元,用于在所述任務(wù)或中斷服務(wù)函數(shù)通過所述第三接口程序釋放所述第二標準資源時,將所述任務(wù)或中斷服務(wù)函數(shù)的優(yōu)先級標示為所述第一標準資源的優(yōu)先級;其中,所述任務(wù)或中斷服務(wù)函數(shù)通過所述第三接口程序釋放所述第二標準資源后,恢復(fù)占用所述第一標準資源時對所述受保護對象進行的處理。
8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,還包括:釋放模塊,用于提供第四接口程序,所述任務(wù)或中斷服務(wù)函數(shù)在當前處理為第一處理,且所述第一處理完成時,通過所述第四接口程序釋放所述天花板優(yōu)先級最低的標準資源;第二標示模塊,用于當所述任務(wù)或中斷服務(wù)函數(shù)通過所述第四接口程序釋放所述天花板優(yōu)先級最低的標準資源時,將所述任務(wù)或中斷服務(wù)函數(shù)的優(yōu)先級標示為占用所述天花板優(yōu)先級最低的標準資源之前所述任務(wù)或中斷服務(wù)函數(shù)的優(yōu)先級。
9.根據(jù)權(quán)利要求5所述的裝置,其特征在于,還包括: 配置模塊,用于預(yù)先依據(jù)任務(wù)和中斷服務(wù)函數(shù)的優(yōu)先級為所述嵌入式實時操作系統(tǒng)內(nèi)的所有標準資源分配天花板優(yōu)先級,包括: 依據(jù)中斷服務(wù)函數(shù)的優(yōu)先級確定與所述中斷服務(wù)函數(shù)對應(yīng)的標準資源的天花板優(yōu)先級; 依據(jù)任務(wù)的優(yōu)先級確定與所述任務(wù)對應(yīng)的標準資源的天花板優(yōu)先級,并獲得新的任務(wù)優(yōu)先級列表; 依據(jù)所述新的任務(wù)優(yōu)先級序列確定鏈接資源的天花板優(yōu)先級。
全文摘要
本發(fā)明公開了一種對受保護對象進行嵌套處理的方法,為需要嵌套處理的受保護對象分配至少兩個標準資源,每個標準資源有不同的天花板優(yōu)先級,在進行嵌套處理時,通過占用天花板優(yōu)先級更高的標準資源來對受保護對象進行嵌套處理,也就是說,本方案中的鏈接資源就是標準資源,即本方案將鏈接資源以普通標準資源的形式進行管理,在系統(tǒng)中不用設(shè)置專門用于控制鏈接資源的數(shù)據(jù)結(jié)構(gòu),也不用在控制標準資源(這里的標準資源是相對鏈接資源來說的)的數(shù)據(jù)結(jié)構(gòu)中添加用于處理鏈接資源的屬性,因此降低了資源管理的復(fù)雜度,提高了嵌入式實時操作系統(tǒng)在實際運行時,資源管理的效率。
文檔編號G06F9/48GK103164276SQ20131010269
公開日2013年6月19日 申請日期2013年3月27日 優(yōu)先權(quán)日2013年3月27日
發(fā)明者張陽, 劉博 , 王載瓊 申請人:北京經(jīng)緯恒潤科技有限公司