董 巍 馬 云
(1.中國電子科技集團(tuán)公司第38研究所,安徽 合肥 230031;2.中國電子科技集團(tuán)公司第32研究所,上海 200233)
由于信息科技和網(wǎng)絡(luò)科技的發(fā)展速率非???,此時群我們正不斷的朝著后PC領(lǐng)域發(fā)展。而這個階段的一大顯著的體現(xiàn)就是存在于各個區(qū)域的嵌入式的體系。這個體系目前正不斷的朝著工業(yè)生產(chǎn)和我們平時的各項活動的一些細(xì)微層次之中發(fā)展。這個體系是當(dāng)前發(fā)展速率最為迅猛的體系其中的一個,與之相關(guān)的軟件設(shè)計是人們非常關(guān)注的事項。要想獲取性能優(yōu)秀,穩(wěn)定性好的設(shè)計,就規(guī)定工作者不僅僅具有優(yōu)秀的能力,同時還要在開發(fā)平臺之中運(yùn)行嵌入式的體系,開展交叉性的活動。該項實(shí)時操作體系和相關(guān)的軟件的研發(fā)氛圍,對于探索性能優(yōu)秀,穩(wěn)定性高的軟件有著非常關(guān)鍵的意義。
目前,國內(nèi)外知名的嵌入式實(shí)時操作系統(tǒng)主要有:LynxOS操作系統(tǒng),功能強(qiáng)大、價格昂貴;RT-Linux操作系統(tǒng),開發(fā)工具少、資源開銷大;VxWorks操作系統(tǒng),功能強(qiáng)大、價格昂貴;pSOS操作系統(tǒng),技術(shù)服務(wù)資源匱乏;QNX操作系統(tǒng),開發(fā)工具少,應(yīng)用不普及;ReWorks操作系統(tǒng),國產(chǎn)操作系統(tǒng),它有著非常優(yōu)秀的功效。
ReWorks是一個運(yùn)行在目標(biāo)機(jī)上的高性能和可裁減的嵌入式實(shí)時操作系統(tǒng)(RTOS),自從面世至今,它憑借著自身的優(yōu)勢,比如穩(wěn)定性好,安全性高等等的一些優(yōu)點(diǎn),被大范圍的運(yùn)用到很多的行業(yè)之中,比如通信以及醫(yī)療裝置等等,在我們國家有著數(shù)量非常龐大的使用者。
它是一項嵌入式的實(shí)時的操作體系,有著非常多的優(yōu)勢,比如裁剪性非常優(yōu)秀,而且穩(wěn)定性好,同時因為它具有非常優(yōu)秀的安全性和實(shí)時特征,所以被大范圍的應(yīng)用到很多的領(lǐng)域里面,比如我國的通信行業(yè)以及醫(yī)療裝置等等。
ReWorks的主要性能特點(diǎn)有:(1)支持CPU 環(huán) 境 :x86、ARM7、ARM9、SPARC v8、PowerPC82XX/74XX/8540、 龍 芯 2F、ADI Blackfin;(2)支持硬件環(huán)境:冗余網(wǎng)絡(luò)、雙屏顯示、USB、AFDX、FLASH、CAN、1553B;(3)支持分布式處理:支持OMG RT-CORBA、SCA核心框架;(4)標(biāo)準(zhǔn)化與兼容性:POSIX 1003-2003、VxWorks 5.x;(5)裁剪性能:最小配置小于20K,支持ROM化;(6)擴(kuò)展能力:支持eXtremeDB數(shù)據(jù)庫、圖形處理;(7)安全能力:基于MMU的空間保護(hù)能力,任務(wù)遷移能力;
該項軟件相關(guān)的設(shè)計工作在開展的時候,最為關(guān)注的是它的實(shí)時特征。其中包括如何按照功能進(jìn)行任務(wù)劃分、任務(wù)優(yōu)先級的設(shè)置、任務(wù)間通信機(jī)制的選擇、中斷處理程序的編寫、如何在多個處理器之間進(jìn)行任務(wù)的分配和采取什么樣的任務(wù)調(diào)度策略等關(guān)鍵技術(shù)。對于多項任務(wù)的劃分以及分配和調(diào)度這三個要素來講,它們本身是一個不可分割的綜合體,其中最為關(guān)鍵的要素是劃分。其中的任意要素設(shè)計不當(dāng)?shù)脑挾紩蓴_到整個體系的發(fā)展。
2.1 多任務(wù)劃分
在ReWorks操作系統(tǒng)中,最小的程序運(yùn)行單位稱為任務(wù)。每個任務(wù)包含一段固定的代碼和數(shù)據(jù)空間。操作系統(tǒng)內(nèi)核通過任務(wù)控制塊對它的執(zhí)行、通信、資源等情況進(jìn)行控制。多任務(wù)劃分涉及如何將整個系統(tǒng)功能設(shè)計為不同的任務(wù)來實(shí)現(xiàn),任務(wù)之間采取怎樣的耦合關(guān)系,劃分的粒度如何等。在根據(jù)數(shù)據(jù)流劃分任務(wù)時,影響劃分的要素包括數(shù)據(jù)之間的并行和串行關(guān)系;根據(jù)控制流劃分任務(wù)時,考慮的要素是控制的因果關(guān)系。
2.2 多任務(wù)調(diào)度
它的設(shè)計意義是確保重要的任務(wù)能夠獲取回應(yīng),而且全部任務(wù)的設(shè)計要素都可以在規(guī)定的時間之中開展好。它涵蓋體系調(diào)度方法的選取,優(yōu)先的明確和任務(wù)間的一些聯(lián)系和競爭等等。在進(jìn)行劃分的時候,分析了各個要素要擔(dān)負(fù)的活動的重要性,該項調(diào)度就要結(jié)合各個任務(wù)的重要性等對其設(shè)置優(yōu)先權(quán)。任務(wù)調(diào)度還必須是不同優(yōu)先級的協(xié)作任務(wù)有效地同步。ReWorks支持兩種調(diào)度方式:基于優(yōu)先級的搶占調(diào)度和時間片輪轉(zhuǎn)調(diào)度。
2.3 任務(wù)間通訊
ReWorks提供了一套豐富的任務(wù)間通信與同步的機(jī)制。這些通信功能使一個應(yīng)用中各個獨(dú)立的任務(wù)協(xié)調(diào)它們的活動。任務(wù)間通信與同步的機(jī)制包括:信號量、消息隊列、管道、信號、套接字。信號量主要用于對臨界資源訪問的同步和互斥;消息隊列多用于消息驅(qū)動機(jī)制;管道是基于文件系統(tǒng)實(shí)現(xiàn)的任務(wù)間按先進(jìn)先出方式傳送數(shù)據(jù)的通信方式;信號相當(dāng)于軟中斷;套接字主要用于網(wǎng)絡(luò)通信。
一個嵌入式系統(tǒng)典型模型的任務(wù)可劃分為:初始化任務(wù)、數(shù)據(jù)接收任務(wù)、數(shù)據(jù)處理任務(wù)、中斷處理程序、數(shù)據(jù)發(fā)送任務(wù),各任務(wù)的功能可描述如下:
3.1 初始化任務(wù):對設(shè)備的初始化設(shè)置、連接設(shè)備中斷到中斷服務(wù)程序。同時,發(fā)起數(shù)據(jù)接收任務(wù)、數(shù)據(jù)處理任務(wù)、數(shù)據(jù)發(fā)送任務(wù),完成后退出。
3.2 中斷服務(wù)程序:外在信息的到來并不是同步活動,使用中斷來設(shè)置是目前使用最多的一個措施。中斷服務(wù)程序在產(chǎn)生外部中斷時調(diào)用,其功能包括接收數(shù)據(jù)到接收緩沖區(qū),并通知數(shù)據(jù)接收任務(wù)讀取數(shù)據(jù)。
3.3 數(shù)據(jù)接收任務(wù):等待中斷服務(wù)程序的通知,從設(shè)備端口接受來自外部的數(shù)據(jù)并處理。
3.4 數(shù)據(jù)處理任務(wù):取出需要處理的數(shù)據(jù),進(jìn)行一定算法的數(shù)據(jù)處理。
由于不一樣的任務(wù)對于時間的規(guī)定不是一樣的,可以結(jié)合它們的特征對其設(shè)置一定的優(yōu)先權(quán),進(jìn)而便于調(diào)度工作的開展。并選擇一個或多個任務(wù)間通信方式來實(shí)現(xiàn)多任務(wù)間通信。各任務(wù)之間的關(guān)系如圖1所示。
圖1 多任務(wù)關(guān)系圖
通過上文的分析,我們得知了該操作體系在很多的行業(yè)之中都獲取了非常顯著的意義,比如通信以及工業(yè)和醫(yī)療裝置等等。由于它具有實(shí)時的特征,所以它的軟件會受到環(huán)境以及空間等等的多項要素的干擾,對于穩(wěn)定性的規(guī)定很是嚴(yán)苛,對于其軟件的探索來講有一定的難度。了解設(shè)計機(jī)制對于開展體系的設(shè)計工作來講,有著非常多的優(yōu)勢。
[1]王才善,陳光武,曠文珍,范多旺,魏宗壽.基于VxWorks的實(shí)時多任務(wù)程序設(shè)計機(jī)制分析[J].鐵路計算機(jī)應(yīng)用,200918(5):12-15.
[2]劉尉悅,張萬生,邢濤,王硯方.VxWorks操作系統(tǒng)及實(shí)時多任務(wù)程序設(shè)計[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2001(5):12-21.