亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種可裁剪的安全實時嵌入式操作系統(tǒng)的制作方法

文檔序號:6633271閱讀:276來源:國知局
一種可裁剪的安全實時嵌入式操作系統(tǒng)的制作方法
【專利摘要】本發(fā)明涉及一種可裁剪的安全實時嵌入式操作系統(tǒng),其包括任務(wù)管理模塊、中斷管理模塊、內(nèi)存管理模塊、消息管理模塊、事件管理模塊、信號量模塊、錯誤管理模塊、定時管理模塊、應(yīng)用模塊、文件系統(tǒng)模塊、協(xié)議棧模塊、適配封裝組件模塊和顯示接口模塊,任務(wù)管理模塊、中斷管理模塊、錯誤管理模塊和內(nèi)存管理模塊是操作系統(tǒng)中不可裁剪部分,其它的各個模塊均可根據(jù)應(yīng)用需要進行靜態(tài)的添加或者刪除。本發(fā)明解決了在嵌入式操作系統(tǒng)設(shè)計中面臨的實時性、安全性以及可裁剪性問題。
【專利說明】一種可裁剪的安全實時嵌入式操作系統(tǒng)

【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種可裁剪的安全實時嵌入式操作系統(tǒng),屬于計算機系統(tǒng)【技術(shù)領(lǐng)域】。

【背景技術(shù)】
[0002]嵌入式操作系統(tǒng)被廣泛的應(yīng)用于各類微處理器中,用于整個嵌入式系統(tǒng)的全部軟、硬件資源分配、任務(wù)調(diào)度、消息分配、調(diào)測、界面顯示等。嵌入式操作系統(tǒng)在民用電子產(chǎn)品,如手機、電視、智能設(shè)備,以及工業(yè)裝備甚至軍用設(shè)備與儀器中隨處可見,并且隨著電子設(shè)備復雜度與集成度的提高,嵌入式操作系統(tǒng)的應(yīng)用會更加普遍。
[0003]嵌入式操作系統(tǒng)的設(shè)計,要解決如下技術(shù)問題:
[0004]1.實時性
[0005]嵌入式操作系統(tǒng)的實時性,一方面是指系統(tǒng)的運行有很強的確定性,必須要在限定的時間點完成特定的任務(wù),否則可能會有異常發(fā)生。另一方面是指從事件發(fā)生到事件被響應(yīng)的時間非常短,也即操作系統(tǒng)能對事件做出即時的反應(yīng)。
[0006]2.安全性
[0007]嵌入式操作系統(tǒng)的安全威脅主要來自三個方面:其一是非法對代碼的篡改;其二是操作系統(tǒng)自身的健壯度,如堆棧溢出的處理、異常的處理與恢復、死鎖等;其三是操作系統(tǒng)對異常捕獲的能力。
[0008]3.可裁剪
[0009]由于嵌入式芯片以及嵌入式產(chǎn)品的多樣性,嵌入式操作系統(tǒng)必須具有高度的可裁剪性,從而能適應(yīng)不同的應(yīng)用場景。
[0010]目前,最典型的嵌入式系統(tǒng)一般按如圖1的方式組成,最底層的硬件是指以某款具體芯片或處理器為核心的集成電路模塊;操作系統(tǒng)是整個嵌入系統(tǒng)的調(diào)度器與管理器;驅(qū)動與適配軟件向上層提供了與芯片及其外圍電路相關(guān)的特定接口 ;應(yīng)用層軟件基于操作系統(tǒng)及驅(qū)動與適配軟件實現(xiàn)了具體的行業(yè)應(yīng)用。目前市場上主要的嵌入式實時操作系統(tǒng)有RTLinux, uc/OS、Vxworks, QNX、pSOS、OS/9、VRTX, eCOS 等。。
[0011]本發(fā)明提出了一種典型的嵌入式操作系統(tǒng),解決了在嵌入式操作系統(tǒng)設(shè)計中面臨的實時性、安全性以及可裁剪性問題。


【發(fā)明內(nèi)容】

[0012]本發(fā)明提供的一種可裁剪的安全實時嵌入式操作系統(tǒng),其包括任務(wù)管理模塊、中斷管理模塊、內(nèi)存管理模塊、消息管理模塊、事件管理模塊、信號量模塊、錯誤管理模塊、定時管理模塊、應(yīng)用模塊、文件系統(tǒng)模塊、協(xié)議棧模塊、適配封裝組件模塊和顯示接口模塊,其特征在于,所述的任務(wù)管理模塊、中斷管理模塊、錯誤管理模塊、和內(nèi)存管理模塊是操作系統(tǒng)中不可裁剪部分,其它的各個模塊均可根據(jù)所述應(yīng)用模塊需要進行靜態(tài)的添加或者刪除。
[0013]進一步,作為優(yōu)選,,所述的任務(wù)管理模塊在該可裁剪的安全實時嵌入式操作系統(tǒng)中最基本的單位是任務(wù),通過操作系統(tǒng)的任務(wù)管理,多個任務(wù)并發(fā)運行,交替獲得CPU時間;
[0014]所述的中斷管理模塊是對外部事件做出響應(yīng)并轉(zhuǎn)到用戶程序開始執(zhí)行的管理模塊;
[0015]所述的內(nèi)存管理模塊采用固定內(nèi)存塊大小的內(nèi)存管理機制,支持動態(tài)分配內(nèi)存,提供消息內(nèi)存池管理機制;
[0016]所述的消息管理模塊是每個任務(wù)包括中斷任務(wù)或優(yōu)先級任務(wù),都擁有一個自己的消息隊列,每一個任務(wù)要想通過發(fā)送消息與另一個任務(wù)進行通信或同步前,需首先獲知目的任務(wù)的任務(wù)ID,然后以該目的任務(wù)的任務(wù)ID作為參數(shù)之一,調(diào)用為操作系統(tǒng)提供發(fā)送消息的系統(tǒng),把消息發(fā)送到專屬于目的任務(wù)的消息隊列中;
[0017]所述的事件管理模塊中,事件是依附于任務(wù)存在的,每個任務(wù)的控制模塊中都包含一個32比特的事件標志,每個比特代表一個事件,高位16bit的定義由操作系統(tǒng)內(nèi)部保留,低位16bit的內(nèi)容由用戶定義,一個任務(wù)可以向另一個任務(wù)發(fā)送一個或多個事件,發(fā)送時需要指定目的任務(wù)的任務(wù)ID ;
[0018]所述的信號量模塊用于任務(wù)間的同步或互斥,但不能傳遞數(shù)據(jù),信號量是獨立于任務(wù)存在的實體,每一個信號量擁有自己獨立的控制結(jié)構(gòu),信號量的控制結(jié)構(gòu)可以在創(chuàng)建信號量時由系統(tǒng)從系統(tǒng)內(nèi)存池中分配;
[0019]所述的錯誤管理模塊可以對系統(tǒng)調(diào)用參數(shù)的合法性、系統(tǒng)調(diào)用的調(diào)用時機、調(diào)用者的合法性、任務(wù)堆棧溢出進行檢查,并向上層應(yīng)用報告錯誤的原因;
[0020]所述的定時管理模塊通過與硬件的定時機制結(jié)合,為整個操作系統(tǒng)提供了全局的定時基準;
[0021]所述的文件系統(tǒng)模塊用于滿足系統(tǒng)中數(shù)據(jù)存儲的各種要求,且所述的文件系統(tǒng)并不被置于操作系統(tǒng)的內(nèi)核部分,而是作為操作系統(tǒng)的可選組件;
[0022]所述的協(xié)議棧模塊屏蔽常見協(xié)議棧的實現(xiàn)細節(jié),向開發(fā)者提供統(tǒng)一的調(diào)用接口 ;
[0023]所述的適配封裝組件模塊用于對原有的不同的操作系統(tǒng)提供統(tǒng)一的程序調(diào)用接Π ;
[0024]所述的顯示接口模塊使操作系統(tǒng)向用戶輸出并顯示相關(guān)信息。
[0025]進一步,作為優(yōu)選,所述的可裁剪的安全實時嵌入式操作系統(tǒng)采用基于事件觸發(fā)的可搶占式調(diào)度設(shè)計,在每一次事件發(fā)生時,由調(diào)度器去尋找系統(tǒng)中優(yōu)先級最高的任務(wù)來執(zhí)行,保證優(yōu)先級最高的任務(wù)能在第一時間得到響應(yīng)。
[0026]進一步,作為優(yōu)選,所述的事件包括外部中斷、發(fā)送信號量、發(fā)送消息、定時溢出、主動切換、用戶事件。
[0027]進一步,作為優(yōu)選,所述的可裁剪的安全實時嵌入式操作系統(tǒng)采用獨立堆棧設(shè)計和集中式錯誤處理方式;
[0028]所述的獨立堆棧設(shè)計具體為每個任務(wù)都有自己獨立的任務(wù)控制塊及堆棧,都是從系統(tǒng)內(nèi)存池中分配的內(nèi)存塊;
[0029]進一步,作為優(yōu)選,所述集中式錯誤處理方式是指所有的錯誤都會被操作系統(tǒng)接管,并且由操作系統(tǒng)統(tǒng)一處理,當錯誤在進程的某個應(yīng)用中發(fā)生后,應(yīng)用向操作系統(tǒng)內(nèi)核拋出錯誤,由操作系統(tǒng)的錯誤處理模塊接管,記錄并且上報錯誤碼、錯誤原因信息,而后根據(jù)是否是一個系統(tǒng)的致命錯誤來決定是否返回應(yīng)用繼續(xù)執(zhí)行,如果發(fā)生了一個致命錯誤,則系統(tǒng)將完全被錯誤處理模塊接管,不能再返回應(yīng)用執(zhí)行。
[0030]進一步,作為優(yōu)選,所述的可裁剪的安全實時嵌入式操作系統(tǒng)還包括堆棧溢出檢測,在每個任務(wù)的堆棧的棧底,有一小塊內(nèi)存作為該任務(wù)的溢出檢測標志,在堆棧初始化時,溢出標志被初始化為一個固定的數(shù)值,在每次發(fā)生與該任務(wù)相關(guān)的任務(wù)切換時,包含從另一任務(wù)切換到該任務(wù),從該任務(wù)切換到其它任務(wù),由操作系統(tǒng)檢查該溢出標志的值,如果發(fā)生改變,則向操作系統(tǒng)上報一個致命錯誤,否則進行正常的切換。
[0031]本發(fā)明提出的一種典型的嵌入式操作系統(tǒng)的框架設(shè)計方法,解決了在嵌入式操作系統(tǒng)設(shè)計中面臨的實時性、安全性以及可裁剪性問題。

【專利附圖】

【附圖說明】
[0032]圖1為典型的嵌入式系統(tǒng)組成。
[0033]圖2為本發(fā)明嵌入式操作系統(tǒng)的框架。
[0034]圖3為本發(fā)明時間片輪轉(zhuǎn)調(diào)度。
[0035]圖4為本發(fā)明的基于位映射的優(yōu)先級快速查詢的位映射圖。
[0036]圖5是獨立堆棧圖示。
[0037]圖6是分布式錯誤處理圖。
[0038]圖7是集中式錯誤處理。
[0039]圖8是堆棧溢出檢測圖。

【具體實施方式】
[0040]本發(fā)明所設(shè)計的嵌入式操作系統(tǒng)的框架如圖2所示:其包括任務(wù)管理模塊、中斷管理模塊、內(nèi)存管理模塊、消息管理模塊、事件管理模塊、信號量模塊、錯誤管理模塊、定時管理模塊、應(yīng)用模塊、文件系統(tǒng)模塊、協(xié)議棧模塊、適配封裝組件模塊和顯示接口模塊,其特征在于,所述的任務(wù)管理模塊、中斷管理模塊、錯誤管理模塊、和內(nèi)存管理模塊是操作系統(tǒng)中不可裁剪部分,其它的各個模塊均可根據(jù)應(yīng)用模塊的需要進行靜態(tài)的添加或者刪除。
[0041]其中,對各個模塊的描述如下:
[0042]任務(wù)管理:在嵌入式操作系統(tǒng)中最基本的單位是任務(wù),通過操作系統(tǒng)的任務(wù)管理,多個任務(wù)并發(fā)運行,交替獲得CPU時間。
[0043]中斷管理:對外部事件做出響應(yīng)并轉(zhuǎn)到用戶程序開始執(zhí)行的管理模塊。
[0044]內(nèi)存管理:內(nèi)存管理模塊采用了固定內(nèi)存塊大小的內(nèi)存管理機制,支持動態(tài)分配內(nèi)存,提供消息內(nèi)存池管理機制。
[0045]消息管理:每個任務(wù)(中斷任務(wù)或優(yōu)先級任務(wù))都擁有一個自己的消息隊列,每一個任務(wù)要想通過發(fā)送消息與另一個任務(wù)進行通信或同步前,必須首先獲知目的任務(wù)的任務(wù)ID,然后以該目的任務(wù)的任務(wù)ID作為參數(shù)之一,調(diào)用操作系統(tǒng)提供的發(fā)送消息的系統(tǒng)調(diào)用來把消息發(fā)送到專屬于目的任務(wù)的消息隊列中。
[0046]事件管理:事件是依附于任務(wù)存在的,每個任務(wù)的控制模塊中都包含一個32比特的事件標志,每個比特代表一個事件。高位16bit的定義由操作系統(tǒng)內(nèi)部保留,低位16bit的內(nèi)容由用戶定義。一個任務(wù)可以向另一個任務(wù)發(fā)送一個或多個事件,發(fā)送時需要指定目的任務(wù)的任務(wù)ID。
[0047]信號量:信號量是一種主要用于保護共享資源的任務(wù)間通信機制,它可以用于任務(wù)間的同步或互斥,但不能傳遞數(shù)據(jù)。信號量是獨立于任務(wù)存在的實體,每一個信號量擁有自己獨立的控制結(jié)構(gòu),信號量的控制結(jié)構(gòu)可以在創(chuàng)建信號量時由系統(tǒng)從系統(tǒng)內(nèi)存池中分配。
[0048]錯誤管理:該模塊可以對系統(tǒng)調(diào)用參數(shù)的合法性、系統(tǒng)調(diào)用的調(diào)用時機、調(diào)用者的合法性、任務(wù)堆棧溢出等進行檢查,并向上層應(yīng)用報告錯誤的原因。
[0049]定時管理:該模塊通過與硬件的定時機制結(jié)合,為整個操作系統(tǒng)提供了全局的定時基準。
[0050]文件系統(tǒng):該模塊主要用于滿足系統(tǒng)中數(shù)據(jù)存儲的各種要求。與Linux —類的操作系統(tǒng)不同,在本發(fā)明中,文件系統(tǒng)并不被置于操作系統(tǒng)的內(nèi)核部分,而是作為操作系統(tǒng)的可選組件。
[0051]協(xié)議棧:該模塊屏蔽了常見協(xié)議棧的實現(xiàn)細節(jié),向開發(fā)者提供了統(tǒng)一的調(diào)用接口,使開發(fā)者能更專注于應(yīng)用本身的開發(fā)。
[0052]適配封裝組件:該模塊主要用于對原有的不同的操作系統(tǒng)提供統(tǒng)一的程序調(diào)用接口,從而加快用戶的移植速度。
[0053]顯示接口:使操作系統(tǒng)向用戶輸出并顯示相關(guān)信息,如IXD上的顯示功能。
[0054]本發(fā)明提供的操作系統(tǒng)實時性的實現(xiàn)具體為:
[0055]影響嵌入式操作系統(tǒng)實時性的主要因素有:任務(wù)調(diào)度時間、中斷任務(wù)響應(yīng)時間。
[0056]針對任務(wù)調(diào)度時間的關(guān)鍵技術(shù)有:基于事件觸發(fā)的可搶占調(diào)度機制,在基于時間片輪轉(zhuǎn)的系統(tǒng)中,每個任務(wù)按時間片分得處理器時間,即使為關(guān)鍵任務(wù)分配更多的時間片,但仍然不能保證關(guān)鍵任務(wù)得到及時的響應(yīng),如圖3所示。
[0057]本發(fā)明采用基于事件觸發(fā)的可搶占式調(diào)度設(shè)計,在每一次事件發(fā)生中,由調(diào)度器去尋找系統(tǒng)中優(yōu)先級最高的任務(wù)來執(zhí)行,從而保證了優(yōu)先級最高的任務(wù),即關(guān)鍵任務(wù)能到第一時間得到響應(yīng)??赡艿氖录?外部中斷、發(fā)送信號量、發(fā)送消息、定時溢出、主動切換、用戶事件等。本發(fā)明僅基于位映射的優(yōu)先級快速查詢。在充分考慮嵌入式操作系統(tǒng)復雜度與規(guī)模的前提下,32個任務(wù)優(yōu)先級已經(jīng)完全可以實現(xiàn)系統(tǒng)功能。本發(fā)明使用一個32比特的位映射來表示處于就緒態(tài)的任務(wù)優(yōu)先級,Bit31置位代表最高任務(wù)優(yōu)先級31有任務(wù)處于就緒態(tài),BitO置位代表最低任務(wù)優(yōu)先級O有任務(wù)處于就緒態(tài),位映射如圖4所示。這種位映射簡單有效,在實現(xiàn)中只需要以一個無符號的32位整數(shù)表示,加上快速的匯編操作指令,在系統(tǒng)中實現(xiàn)了快速的任務(wù)切換。
[0058]對于本發(fā)明的操作系統(tǒng)安全性的實現(xiàn),針對操作系統(tǒng)安全性的關(guān)鍵技術(shù)有:獨立堆棧設(shè)計,本發(fā)明中每個任務(wù)都有自己獨立的任務(wù)控制塊及堆棧,它們都是從系統(tǒng)內(nèi)存池中分配的內(nèi)存塊,如圖5所示。此外,本發(fā)明采用集中式錯誤處理方式,嵌入式操作系統(tǒng)一般采用分布式的錯誤處理方式,即在整個系統(tǒng)中,錯誤在哪里發(fā)生,就在哪里處理,如圖6所示。而在本發(fā)明中,所有的錯誤都會被操作系統(tǒng)接管,并且由操作系統(tǒng)統(tǒng)一處理,如圖7所示。
[0059]當錯誤在進程的某個應(yīng)用中發(fā)生后,應(yīng)用向操作系統(tǒng)內(nèi)核拋出錯誤,由操作系統(tǒng)的錯誤處理模塊接管,記錄并且上報錯誤碼、錯誤原因等信息,而后根據(jù)是否是一個系統(tǒng)的致命錯誤來決定是否返回應(yīng)用繼續(xù)執(zhí)行。如果發(fā)生了一個致命錯誤,則系統(tǒng)將完全被錯誤處理模塊接管,不能再返回應(yīng)用執(zhí)行。這種集中式的錯誤處理機制,使操作系統(tǒng)的錯誤更加容易定位,增強了操作系統(tǒng)的安全性。
[0060]此外,本發(fā)明采用堆棧溢出檢測,在每個任務(wù)的堆棧的棧底,有一小塊內(nèi)存作為該任務(wù)的溢出檢測標志,如圖8所示。在堆棧初始化時,溢出標志被初始化為一個固定的數(shù)值,在每次發(fā)生與該任務(wù)相關(guān)的任務(wù)切換時,包含從另一任務(wù)切換到該任務(wù),從該任務(wù)切換到其它任務(wù),由操作系統(tǒng)檢查該溢出標志的值,如果發(fā)生改變,則向操作系統(tǒng)上報一個致命錯誤,否則進行正常的切換。
[0061]對于本發(fā)明的操作系統(tǒng)可裁剪性的實現(xiàn),從圖2嵌入式操作系統(tǒng)的框架可以看出,本發(fā)明中的嵌入式操作由多個模塊組成,其中,任務(wù)管理、中斷管理、錯誤管理、內(nèi)存管理是操作系統(tǒng)中不可裁剪部分,其它的模塊均可根據(jù)應(yīng)用需要進行靜態(tài)的添加或者刪除。本發(fā)明中可裁剪性的實現(xiàn)主要是基于一個操作系統(tǒng)支持庫的編譯配置文件實現(xiàn)的。在配置文件中,以編譯宏來指示是否支持某項功能,如:
[0062]#define 0S_SUPP0RT_FS I
[0063]則在編譯生成的支持庫中將支持文件系統(tǒng),否則不支持文件系統(tǒng)功能。
[0064]以上實施方式僅用于說明本發(fā)明,而并非對本發(fā)明的限制,有關(guān)【技術(shù)領(lǐng)域】的普通技術(shù)人員,在不脫離本發(fā)明的精神和范圍的情況下,還可以做出各種變化和變型,因此所有等同的技術(shù)方案也屬于本發(fā)明的范疇,本發(fā)明的專利保護范圍應(yīng)由權(quán)利要求限定。
【權(quán)利要求】
1.一種可裁剪的安全實時嵌入式操作系統(tǒng),其包括任務(wù)管理模塊、中斷管理模塊、內(nèi)存管理模塊、消息管理模塊、事件管理模塊、信號量模塊、錯誤管理模塊、定時管理模塊、應(yīng)用模塊、文件系統(tǒng)模塊、協(xié)議棧模塊、適配封裝組件模塊和顯示接口模塊,其特征在于,所述的任務(wù)管理模塊、中斷管理模塊、錯誤管理模塊、和內(nèi)存管理模塊是操作系統(tǒng)中不可裁剪部分,其它的各個模塊均可根據(jù)所述應(yīng)用模塊需要進行靜態(tài)的添加或者刪除。
2.根據(jù)權(quán)利要求1所述的一種可裁剪的安全實時嵌入式操作系統(tǒng),其特征在于,所述的任務(wù)管理模塊在該可裁剪的安全實時嵌入式操作系統(tǒng)中最基本的單位是任務(wù),通過操作系統(tǒng)的任務(wù)管理,多個任務(wù)并發(fā)運行,交替獲得CPU時間; 所述的中斷管理模塊是對外部事件做出響應(yīng)并轉(zhuǎn)到用戶程序開始執(zhí)行的管理模塊; 所述的內(nèi)存管理模塊采用固定內(nèi)存塊大小的內(nèi)存管理機制,支持動態(tài)分配內(nèi)存,提供消息內(nèi)存池管理機制; 所述的消息管理模塊是每個任務(wù)包括中斷任務(wù)或優(yōu)先級任務(wù),都擁有一個自己的消息隊列,每一個任務(wù)要想通過發(fā)送消息與另一個任務(wù)進行通信或同步前,需首先獲知目的任務(wù)的任務(wù)ID,然后以該目的任務(wù)的任務(wù)ID作為參數(shù)之一,調(diào)用為操作系統(tǒng)提供發(fā)送消息的系統(tǒng),把消息發(fā)送到專屬于目的任務(wù)的消息隊列中; 所述的事件管理模塊中,事件是依附于任務(wù)存在的,每個任務(wù)的控制模塊中都包含一個32比特的事件標志,每個比特代表一個事件,高位16bit的定義由操作系統(tǒng)內(nèi)部保留,低位16bit的內(nèi)容由用戶定義,一個任務(wù)可以向另一個任務(wù)發(fā)送一個或多個事件,發(fā)送時需要指定目的任務(wù)的任務(wù)ID; 所述的信號量模塊用于任務(wù)間的同步或互斥,但不能傳遞數(shù)據(jù),信號量是獨立于任務(wù)存在的實體,每一個信號量擁有自己獨立的控制結(jié)構(gòu),信號量的控制結(jié)構(gòu)可以在創(chuàng)建信號量時由系統(tǒng)從系統(tǒng)內(nèi)存池中分配; 所述的錯誤管理模塊可以對系統(tǒng)調(diào)用參數(shù)的合法性、系統(tǒng)調(diào)用的調(diào)用時機、調(diào)用者的合法性、任務(wù)堆棧溢出進行檢查,并向上層應(yīng)用報告錯誤的原因; 所述的定時管理模塊通過與硬件的定時機制結(jié)合,為整個操作系統(tǒng)提供了全局的定時基準; 所述的文件系統(tǒng)模塊用于滿足系統(tǒng)中數(shù)據(jù)存儲的各種要求,且所述的文件系統(tǒng)并不被置于操作系統(tǒng)的內(nèi)核部分,而是作為操作系統(tǒng)的可選組件; 所述的協(xié)議棧模塊屏蔽常見協(xié)議棧的實現(xiàn)細節(jié),向開發(fā)者提供統(tǒng)一的調(diào)用接口 ; 所述的適配封裝組件模塊用于對原有的不同的操作系統(tǒng)提供統(tǒng)一的程序調(diào)用接口; 所述的顯示接口模塊使操作系統(tǒng)向用戶輸出并顯示相關(guān)信息。
3.根據(jù)權(quán)利要求1所述的一種可裁剪的安全實時嵌入式操作系統(tǒng),其特征在于,所述的可裁剪的安全實時嵌入式操作系統(tǒng)采用基于事件觸發(fā)的可搶占式調(diào)度設(shè)計,在每一次事件發(fā)生時,由調(diào)度器去尋找系統(tǒng)中優(yōu)先級最高的任務(wù)來執(zhí)行,保證優(yōu)先級最高的任務(wù)能在第一時間得到響應(yīng)。
4.根據(jù)權(quán)利要求3所述的一種可裁剪的安全實時嵌入式操作系統(tǒng),其特征在于,所述的事件包括外部中斷、發(fā)送信號量、發(fā)送消息、定時溢出、主動切換、用戶事件。
5.根據(jù)權(quán)利要求2所述的一種可裁剪的安全實時嵌入式操作系統(tǒng),其特征在于,所述的可裁剪的安全實時嵌入式操作系統(tǒng)采用獨立堆棧設(shè)計和集中式錯誤處理方式; 所述的獨立堆棧設(shè)計具體為每個任務(wù)都有自己獨立的任務(wù)控制塊及堆棧,都是從系統(tǒng)內(nèi)存池中分配的內(nèi)存塊; 所述集中式錯誤處理方式是指所有的錯誤都會被操作系統(tǒng)接管,并且由操作系統(tǒng)統(tǒng)一處理,當錯誤在進程的某個應(yīng)用中發(fā)生后,應(yīng)用向操作系統(tǒng)內(nèi)核拋出錯誤,由操作系統(tǒng)的錯誤處理模塊接管,記錄并且上報錯誤碼、錯誤原因信息,而后根據(jù)是否是一個系統(tǒng)的致命錯誤來決定是否返回應(yīng)用繼續(xù)執(zhí)行,如果發(fā)生了一個致命錯誤,則系統(tǒng)將完全被錯誤處理模塊接管,不能再返回應(yīng)用執(zhí)行。
6.根據(jù)權(quán)利要求5所述的一種可裁剪的安全實時嵌入式操作系統(tǒng),其特征在于,所述的可裁剪的安全實時嵌入式操作系統(tǒng)還包括堆棧溢出檢測,在每個任務(wù)的堆棧的棧底,有一小塊內(nèi)存作為該任務(wù)的溢出檢測標志,在堆棧初始化時,溢出標志被初始化為一個固定的數(shù)值,在每次發(fā)生與該任務(wù)相關(guān)的任務(wù)切換時,包含從另一任務(wù)切換到該任務(wù),從該任務(wù)切換到其它任務(wù),由操作系統(tǒng)檢查該溢出標志的值,如果發(fā)生改變,則向操作系統(tǒng)上報一個致命錯誤,否則進行正常的切換。
【文檔編號】G06F21/57GK104318165SQ201410616851
【公開日】2015年1月28日 申請日期:2014年11月5日 優(yōu)先權(quán)日:2014年11月5日
【發(fā)明者】何宗彬 申請人:何宗彬
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1