曹晨陽

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