[電子電路]軟總線架構在實時多任務軟件系統中的設計應用_第1頁
[電子電路]軟總線架構在實時多任務軟件系統中的設計應用_第2頁
[電子電路]軟總線架構在實時多任務軟件系統中的設計應用_第3頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、軟總線架構在實時多任務軟件系統中的設計應用 (1)感謝到訪我的主頁: (文檔西游 )本文檔格式為 WORD,若不是word文檔,則說明不是原文檔。 若圖片過大,下載后拉小即可。1引言 隨著大型嵌入式系統向著集成化和多元化方向的發展,嵌入式軟 件系統的復雜度也日益增大。在集成多個硬件工作模塊組成的復 雜系統中,要求軟件系統能同時測控多個模塊的同步工作,軟件 設計要求做到實時多任務。針對軟件設計的要求,采用基于實時 多任務操作系統提供的底層任務調度機制,建立軟件架構成為較 好的選擇。本文提出了基于實時多任務操作系統,建立軟件架構 時采用軟總線提供數據驅動層的架構模式。針對軟總線在共享數 據維護上的

2、優勢。2任務調度、共享資源與軟總線結構研究2.1 嵌入式開發任務調度和資源共享 目前主要的實時多任務操作系統( VxWorks ,嵌入式 Linux ,,就WinCE )的任務調度均采用對于不同優先級搶占式調度,對同優 先級采用時間片輪轉調度的方法。為使低優先級任務能得到運 行,軟件需要能阻塞高優先級任務,同時也要能使被阻塞的任務 重新就緒運行。操作系統對進程間通信資源的操作能產生這樣的 效果,所以在架構軟件時,常借助進程間通信資源的使用。然而 采用這樣的方式,調度靈活性較差,同時低優先級任務對進程間 通信資源的占用也始終處于劣勢。任務進程較多復雜軟件系統 中,無法避免的會出現多進程共用資源的

3、情況,事實上進程通信 資源也是一種多進程共用的資源。進程可以對自身資源進行管 理,但對于這些共享的資源,就無法只由共享者中的某一個進行 管理。而這個管理卻是必要的,否則進程內部的意外可能通過這 些資源蔓延到其他進程,如:進程內部意外的對資源地址賦空 會使其他共享該資源的進程在使用該資源時崩潰。這就要求在系 統設計時,有獨立于各個進程之外的總體的對資源管理的模塊。2.2 軟總線結構 在此,本文提出軟總線結構來架構復雜的軟件系統,以解決任務調度和資源管理上的困難。軟總線是封裝了操作系統對于進程間 通信資源,共享內存等有多個進程共同使用的資源操作的模塊。 該模塊為任務進程模塊提供標準的資源申請、使用

4、及回收接口, 任務進程使用該接口及協議的標識進行資源的共享。首先,軟總線封裝了各種進程可能共享的資源,獨立于進程之外 對資源進行管理,使共享資源對于任務進程透明,任務進程無法 直接操作資源。這樣的處理方式使得資源本身不能被任務進程修 改或破壞。任務進程獲取的數據,實際是總線上數據的副本,而 所有關于總線上數據的更新都需要總線模塊的認證,以避免出 錯。總線模塊在操作系統底層調用的基礎上,通過封裝資源、提 供接口,構建了一個數據驅動層。同時,由于軟總線的封裝,使 得在構建軟件系統時,對進程的調度需要通過軟總線來實施。如 果在總線模塊處加載系統的調度策略,可以更靈活有效地對每個 資源進行任務的調度。

5、使得一方面降低了在開發初期為任務進程 設置合理優先級的難度,一方面也使得不同任務能在不同的資源 處能有更為靈活的優先策略。綜合以上兩點,以軟總線架構底層數據驅動的方式構建實時多任 務軟件系統,可以有效地保護和管理共享資源并更為簡單靈活對 系統進行調度。3軟總線軟件架構方案本設計基于 Vxworks 操作系統,試驗平臺包括通信、存儲、復 接、硬件總線與主控計算機等硬件電路板,及與硬件相對應的軟 件功能模塊。3.1 軟件架構整體方案本設計中,軟總線封裝的操作系統對于內存、信號量以及消息隊 列的創建、刪除及使用等操作。上層與硬件功能對應的軟件任務 模塊需要通過軟總線進行對資源操作。具體的結構如圖 1

6、 所示: 對于功能模塊本地化的資源,不強制要求使用軟總線操作。圖 1 軟總線架構設計框圖3.2 軟總線詳細設計對于軟總線結構的架構方式,設計關鍵節點就是軟總線模塊。該 模塊負責對操作系統的資源封裝和上層功能模塊的資源使用請求 處理。本設計中,將軟總線分成兩個主要的部分:資源池和管理 表。資源池是軟總線模塊開辟的內存區域,在內存池上進行系統 其他功能模塊的共享資源的創建。軟總線引入了以下操作特性:資源創建于軟總線的資源池,功能 模塊通過標示符來間接地使用資源,資源使用需要經過軟總線的 驗證,多個進程對同一資源會有不同的操作方式和優先級,不同 的資源有不同的調度策略。針對這些特性,就需要有相應的管

7、理 系統。該系統需要維護資源與標示符之間的關聯、任務進程對資 源的相關操作參數、資源特有的調度策略等。本文設計中軟總線 主要使用四個表格存儲關聯信息,其詳細設計圖如圖2:圖 2 軟總線詳細設計圖3.3 資源使用調度詳細設計 為了保證資源的安全性,系統要求進程在使用資源的時候先進行 進程注冊和資源申請。同時,系統對資源使用的行為進行比較嚴 格的檢測。因此,進程使用資源分為三步:進程注冊,進程申請 資源及進程使用資源。進程注冊是在進程建立的時候,同時將進 程信息寫入軟總線的進程表加以保存。進程申請資源通常在進程 建立以后第一次工作時完成,類似對資源的初始化。進程申請資 源要求進程在軟總線已經注冊,

8、同時要求進程對資源的參數限定 符合該資源。進程使用標識符來標示所要使用的資源,如果該資 源不存在,這以該進程給定的參數在資源池中建立和初始化該資 源并關聯進程;如果資源存在,比對參數,如果一致,直接關聯 進程,否則出錯處理。出錯處理產生以 “標識符 _進程編號 ”為標識 的副本,以進一步的使用,當然同時會有出錯提示。資源使用要求進程和資源已經關聯。同時使用的過程中,進程操 作的是數據的副本,而對資源的更新是要受到系統的檢測的。這 次,副本數據的更新是實時的,這樣就避免出現同步的問題。資 源調度也會在資源獲取前依據資源調度表中的信息進行。進程對 資源申請和使用的詳細調度如圖 3 所示:圖 3 進

9、程對資源申請和使用的詳細調度圖3.4 系統驗證和安全性模擬實驗經過驗證,該系統 * 能模塊使用軟總線提供的接口操作資源,其 速度和效率不低于使用未封裝的資源。同時,軟總線的封裝使得 資源對功能模塊透明,而且使用資源時還要求對其進行較強的驗證,因此資源的安全性及系統的健壯性得到了較大幅度的提高。 為了驗證系統的安全性健壯性,我們進行了安全測試。在測試 中,模擬了系統可能出現的各種安全漏洞。同時,與使用非軟總 線結構,對資源不進行強驗證的系統進行比較。結果如表1:如上表所示,使用軟總線架構,系統具有更強的安全性和健壯性。4結束語 本文介紹了使用軟總線封裝系統資源,設計實時多任務嵌入式軟 件的架構方式。通過實際的工程實踐,給出軟總線的設計方案。 文章通過理論分析和實驗對比指出了這種架構方式在處理多任務 調度和資源共享上相對普通架構的優勢。歡迎到訪: -2194684-1.html您還在到處查找電子電路設計 ?電子電路論文 ?方案嗎?在這里可以找到,更多資源 或疑問查看可站內聯系免費閱讀西游文檔:Buddy算法在卩COSI動態內存管理改進方案中的應用An droid平臺消息響應機制的研究及其觸摸屏響應的優化實現Linux系統下搭建CC+開發的IDE環境 基于VxWorks嵌人式操作系統的C/S模式網絡編程 Windows CE.Net下的矩陣鍵盤開發設計V

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論