曹晨陽

摘要 目前,隨著科學技術的不斷發展,使計算機技術日趨完善,其現已成為人們日常工作、學習和生活中,不可或缺的重要工具。軟件作為計算機的核心,其設計效率和質量,直接關系到軟件的使用,通過嵌入式實時軟件技術,能夠使計算機軟件設計水平獲得大幅度提升。基于此點,本文首先對嵌入式實時軟件技術的框架進行簡要介紹,進而分析了嵌入式實時軟件技術的特點,在此基礎上對計算機軟件設計中的嵌入式實時軟件技術進行論述。
【關鍵詞】嵌入式實時軟件 計算機 軟件設計
1 嵌入式實時軟件技術的框架
1.1 結構化框架
這是嵌入式實時軟件中技術最為成熟的一種軟件框架,其較為常見的類型有兩種,一種是單任務,另一種是多任務。前者最為突出的特點體現在如下幾個方面:運行效率高、資源占用量少、整體結構簡單、無需OS支持等等。雖然單任務的優點較多,但其不足之處也是顯而易見的,即在對任務進行處理的過程中,任務與任務之間并不存在優先級,而且也不能進行搶占,即使有緊急任務,也必須等待處理,正因如此,使得該軟件框架只能在一些較為簡單的嵌入式實時系統當中進行應用。后者是以任務作為最基本的單元,任務之間的通信由RTOS(實時系統)提供,多任務的軟件框架如圖1所示。
在多任務框架中,任務劃分是設計的核心環節,目前使用較為廣泛的一種設計方法是DARTS(實時軟件分析),從本質的角度上講,這種設計方法是結構化框架在嵌入式軟件設計中的擴展性應用,具體是對任務關聯性的分析,以時間特性作為主要依據,將模塊合理分配到相關的任務當中。由于任務處理模塊之間的同步可以借助RTOS來實現,所以通過多任務框架能夠使計算機軟件開發人員的工作效率獲得大幅度提升,并且設計出來的軟件質量也會有所更高。
1.2 構件化框架
在構件化軟件框架中,構件是最為基本的組成單元,借助中間件各個構件之間可以進行交互,對于進行交互的構件而言,只有接口定義為己知信息。從本質的角度上講,構件可以實現接口的有效分離,單個構件對與自身相關的接口進行修改的過程中,僅僅會對與接口存在交互的構件造成影響,并不會對其它構件產生影響,由此使得構件化框架具有非常高的擴展性。為在最短的時間內完成分離,要對大量細節性的內容進行屏蔽,這個屏蔽過程,可以借助中間件來完成。在構件化軟件框架中,中間件是一個非常重要的組成部分,具有總線的作用,各種相關的構件模型,均可通過相關標準集成到中間件上進行使用。在嵌入式實時軟件中,最為常用的構件化設計方法為CORBA,它是由OMG組織制定的應用程序體系規范,通過該方法能夠實現DCE中的軟件與硬件之間的無縫連接。由于OMG是非盈利性組織,從而使得CORBA成為公共框架,它的構件模型接口含有輸出服務,并且只有輸出服務,由此使得構件化的軟件框架能夠不同軟件靈活替換的問題。
2 嵌入式實時軟件的技術特點
對于嵌入式實時軟件技術而言,它的本質與普通的軟件基本類似,唯一的差別在于實時性,這一特征的存在使得嵌入式實時軟件技術具有了與普通軟件所不同的特點,主要體現在如下幾個方面:
2.1 實時性
這是嵌入式實時軟件技術最為突出的一個特點,也是其與普通軟件之間存在的主要差別,在軟件設計開發中,實時性非常重要,特別是對于一些較為特殊的應用程序而言,都對實時性有著非常高的要求。在構件化軟件框架中,需要在構件模型當中對實時屬性進行有效的表示,一方面接口的調用要滿足實時性要求,另一方面,構件的分析要提供實時屬性的正確描述,據此可選擇與實時性要求完全相符的構件,從而使設計出來的軟件具備實時性的特點。在計算機軟件設計中,并行與異步是需要重點解決的問題,為達到實時性的要求,幾乎所有的實時軟件全部采用了并行與異步這兩種最為基本的運行機制,在最終的系統實現中,需要考慮各種算法對實時性可能產生的不同影響,選取最適宜的算法進行設計。
2.2 多樣性
嵌入式實時軟件并沒有統一的形式,基本上每一款嵌入式軟件都是以定制的方法提供給用戶,由此使得嵌入式軟件技術具備了多樣性和定制性的特點,為滿足不同用戶的個性化定制需要,就必須不斷提高軟件過程技術。
3 計算機軟件設計中的嵌入式實時軟件技術
3.1 嵌入式實時軟件技術的運用
在計算機軟件設計中,嵌入式實時軟件技術的應用主要體現在如下幾個方面:
3.1.1 對任務進行合理劃分
對于嵌入式的RTOS而言,應用軟件是層級最高的存在,也是RTOS相關功能實現的前提和基礎,是不可或缺的核心部分,它的重要性不言而喻。在嵌入式RTOS中,微內核可以提供諸多功能,其中絕大多數功能都與任務有關,如任務同步、任務通信、任務管理域控制等等,可將之視作為軟件程序開發的基礎平臺,而嵌入式實時軟件技術將計算機軟件以最為合理的方式,劃分為若干個彼此之間相互獨立的任務,由此可以使軟件的設計過程得到進一步簡化,并且還能對軟件與系統進行有效協調,從而使設計出來的軟件可以在系統中穩定運行。在對計算機軟件的并行任務進行具體劃分時,需要進行重點分析的因素是程序的數據轉換,據此對數據的執行順序及并行轉換加以確定,進而將單個或是多個數據轉換劃分為一個任務。在計算機應用程序當中,數據與數據之間的通信存在異步關系,這個關系是設計人員在劃分任務時需要著重考慮的關鍵性因素之一,具體可從如下兩個方面進行對該因素進行考慮。一是內部功能??蓪⒂嬎銠C軟件程序的并行任務細分為以下幾種:周期性任務、應用控制任務、用戶接口任務以及同步和異步任務等等??梢詫⒛硞€事件的激活任務,與激活該任務的相關功能融合到一起,形成一個任務,同時,還可將一些關聯程度較高的任務合并到一起,使其成為一個任務,并由相同的事件對這些任務進行驅動,這樣便可以對計算機當中的軟件資源進行共享,由此可使軟件設計流程得以簡化,有助于軟件設計效率的提升。二是要對I/O接口功能予以考慮,正常情況下,計算機中的軟件程序多是以中斷或是輪詢的方式對I/O事件進行驅動,而在輪詢的過程中,會對CPU資源進行較多的占用,這樣一來,可能會使計算機的運行速度被拖慢,因此,為滿足軟件的實時性要求,可在軟件設計中,以中斷方式為主。
3.1.2 確定任務的組織形式
通過嵌入式實時軟件技術對計算機軟件設計中的任務進行合理劃分之后,這些任務便會具有獨立性的特點,對獨立任務的組織形式進行確定的過程中,邏輯與數據轉換關系是需要優先考慮的兩個因素。嵌入式RTOS的應用程序一般都會保存在Flash和ROM,為使RTOS的運行更加穩定,并發揮出自身的協調作用,便需要在軟件設計時,對布局進行優化,在具體優化的過程中,需要著重考慮的因素是存儲映像的布局問題,當系統從物理地址中對相關的軟件程序指令進行調取后,嵌入式RTOS則會先行啟動ROM,并使ROM在物理地址上完成初始化,采用這種任務組織形式,可以使處理器調取向量的速度獲得大幅度提升,由此可能夠使計算機系統的運行效率隨之提高。
3.2 調度實時性與時鐘通信
在利用嵌入式實時軟件技術進行應用程序設計時,對相關任務的調度應采用優先級的方法,這種做法可以使系統對關鍵性任務的響應時間有所減少。如果同一個優先級的任務數量較多,可按任務的緊急程度,提升其優先級的級數,使最緊急的任務得到最先處理。時鐘與任務之間的實時通信是設計人員需要在設計過程中予以充分考慮的問題,可利用嵌入式實時軟件技術為每個任務設定只屬于它的時鐘服務,并借助信號和隊列機制,實現軟件與任務的同步,由此除了可以使軟件的性能獲得大幅度提升之外,還能使任務的實時性得到保障。
4 結論
綜上所述,計算機軟件的設計過程因具體的需要而異,但無論需要如何,都要求軟件具有實時性的特點。故此,設計人員可對嵌入式實時軟件技術進行合理運用,以此來提高計算機軟件的整體設計水平。在未來一段時期,應加大對嵌入式實時軟件技術的研究力度,使其逐步完善,從而更好地為軟件設計開發服務。
參考文獻
[1]肖鵬,計算機軟件設計中嵌入式實時軟件的運用分析[J].無線互聯科技,2015(14).
[2]郭先旗,謝文彩.計算機軟件設計中嵌入式實時軟件的應用分析[J].自然科學:全文版,2016(10):00094-00094.
[3]劉長榮,丁勤.嵌入式實時軟件在計算機軟件設計中的運用分析[J],電腦知識與技術,2016,12(36): 208-209.
[4]馬宇馳,計算機軟件設計中嵌入式實時軟件的應用探析[J].信息通信,2014(04):104-104.
[5]劉凱英.計算機軟件設計中嵌入式實時軟件的應用設計[J],數字技術與應用,2015(05):168-168.