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