嵌入式實時操作系統(tǒng)研究與分析
摘要:嵌入式實時操作系統(tǒng)(RTOS)是嵌入式系統(tǒng)的基礎(chǔ)運行平臺,是嵌入式系統(tǒng)穩(wěn)定、可靠工作的基礎(chǔ),其功能和性能的好壞將直接影響嵌入式系統(tǒng)的功能和性能。嵌入式時實操作系統(tǒng)目前應(yīng)用的范圍越來越廣,逐漸成為今后操作系統(tǒng)開發(fā)和發(fā)展的主要方向。其應(yīng)用領(lǐng)域大到工業(yè)控制,小到個人消費用品如數(shù)碼相機,手機,PDA等無處不在,通信系統(tǒng)也大量的使用嵌入式實時操作系統(tǒng)作為操作系統(tǒng)平臺.
關(guān)鍵詞:操作系統(tǒng);嵌入式;實時
一、嵌入式和實時系統(tǒng)介紹
嵌入式系統(tǒng)在我們的生活中已經(jīng)無處不在,如火星探測器,汽車上的電動裝置,可視電話,PDA,嵌入式網(wǎng)絡(luò)交換系統(tǒng)等等。嵌入式系統(tǒng)在我們的生活中發(fā)揮著巨大的作用,嵌入式系統(tǒng)是為實現(xiàn)特定功能,并且軟硬件緊密結(jié)合在一起的計算機系統(tǒng)。
實時嵌入式系統(tǒng)是嵌入式系統(tǒng)的一種,它能夠?qū)ν獠渴录o予及時響應(yīng)。對外部事件的響應(yīng)有三個步驟:對外部事件的識別,必要的處理,以及結(jié)果的輸出。實時系統(tǒng)又分為硬實時和軟實時兩種。在軟實時系統(tǒng)中,系統(tǒng)的宗旨是使各個任務(wù)運行得越快越好,對響應(yīng)時間的介定有一定的靈活性;在硬實時系統(tǒng)中,各任務(wù)不僅要執(zhí)行無誤而且要做到準(zhǔn)時,一旦不能在確定的時間內(nèi)完成,有可能導(dǎo)致災(zāi)難性后果。實時操作系統(tǒng)(RTOS)以及時的方式進(jìn)行任務(wù)調(diào)度、系統(tǒng)資源的管理以及為應(yīng)用開發(fā)提供一個穩(wěn)固的平臺。RTOS可以是一個小而簡單的系統(tǒng),也可以是一個大而全的系統(tǒng),具體要視實際應(yīng)用而定.目前流行的許多RTOS都是用戶可裁剪定制的,如vxworks和pSOS等。
二、嵌入式操作系統(tǒng)實時性的幾個重要性能指標(biāo)
成熟度一個操作系統(tǒng)從研發(fā)成功到能穩(wěn)定、可靠運行的過程是需要較長時間的,只有經(jīng)過廣泛使用才能逐步走向成熟,成熟度是綜合評價操作系統(tǒng)穩(wěn)定性和可靠性的重要指標(biāo)。
穩(wěn)定性穩(wěn)定性是反映嵌入式實時操作系統(tǒng)在長時間運行過程中不會出現(xiàn)異常情況,保證應(yīng)用系統(tǒng)能夠穩(wěn)定、可靠地工作的指標(biāo)。
可靠性可靠性是反映嵌入式實時操作系統(tǒng)能夠保持正常運行而不受外界影響的能力,通常以系統(tǒng)連續(xù)并且可靠運行時間來度量。
安全性安全性是反映嵌入式實時操作系統(tǒng)能夠抵御外部攻擊和應(yīng)用軟件自身缺陷的能力。
開放性開放性是反映嵌入式實時操作系統(tǒng)符合國際和國家標(biāo)準(zhǔn)水平以及能否得到眾多第三方(主要包括:驅(qū)動程序、開發(fā)工具、其它功能軟件等)廣泛支持的基本條件。
實時性實時性是反映嵌入式實時操作系統(tǒng)快速響應(yīng)外部事件的能力。通常包括:系統(tǒng)調(diào)用時間、任務(wù)切換時間、中斷響應(yīng)和延遲時間、信號量混洗時間、數(shù)據(jù)包吞吐率等。
三、嵌入式實時操作系統(tǒng)的體系結(jié)構(gòu)
操作系統(tǒng)發(fā)展至今,模塊結(jié)構(gòu)已經(jīng)非常明確,即可分成處理器管理、存儲器器管理、設(shè)備管理和文件管理等模塊,如表1所示。只有文件系統(tǒng)是屬于建立在存儲器上的邏輯管理功能,因為可以說,現(xiàn)今的操作系統(tǒng)是一種直接的計算機硬件的邏輯映射,是硬件組合模型的軟件表達(dá)形式。
操作系統(tǒng)最基本的結(jié)構(gòu)是模塊結(jié)構(gòu)和層次結(jié)構(gòu)。模塊結(jié)構(gòu)是最一般的結(jié)構(gòu)化設(shè)計。單內(nèi)核就是模塊結(jié)構(gòu),但內(nèi)核的概念是一種層次概念。層次結(jié)構(gòu)是建立在系統(tǒng)功能模塊分類的基礎(chǔ)之上,是一種模塊集合作為“層”的結(jié)構(gòu)。操作系統(tǒng)按模塊間功能調(diào)用方式分單內(nèi)核與微核兩類。另外還有兩種應(yīng)用模型:虛擬機與客戶機(服務(wù)器)模式,它們是建立在操作系統(tǒng)的系統(tǒng)應(yīng)用擴展模型。
四、如何提高嵌入式實時操作系統(tǒng)的可靠性
提高RTOS的可靠性的關(guān)鍵取決于RTOS的架構(gòu)。例如在實時執(zhí)行模式架構(gòu)中,大部分或所有軟件組件都在一個單一的內(nèi)存地址空間中運行,包括操作系統(tǒng)內(nèi)核、網(wǎng)絡(luò)協(xié)議棧、設(shè)備驅(qū)動程序、應(yīng)用程序等。雖然這種架構(gòu)的效率較高,但有兩個明顯的缺陷:任何組件中的一個指針錯誤,都可能破壞操作系統(tǒng)內(nèi)核或任何其它組件,導(dǎo)致不可預(yù)測的行為和整個系統(tǒng)的崩潰;很難動態(tài)修復(fù)或替換任何有故障的組件,大多數(shù)情況下,出現(xiàn)這些問題時系統(tǒng)復(fù)位是唯一的選擇。
有一些RTOS試圖通過使用單內(nèi)核架構(gòu)來解決這個問題。在這種架構(gòu)中,用戶的應(yīng)用程序在隔離的、受保護(hù)內(nèi)存地址空間中運行。如果一個應(yīng)用程序試圖訪問其地址空間之外的數(shù)據(jù),內(nèi)存管理單元(MMU)將通知操作系統(tǒng),操作系統(tǒng)可能會采取保護(hù)措施,例如終止出錯進(jìn)程。由于這樣的操作系統(tǒng)需要將大多數(shù)或所有驅(qū)動程序、文件系統(tǒng)和其它系統(tǒng)服務(wù)綁定到內(nèi)核中,因此任何組件中的一個錯誤都可能帶來災(zāi)難性的內(nèi)核故障。
采用微內(nèi)核(mricokernel)架構(gòu)可提供更精確的故障隔離,如QNX Neutrino等操作系統(tǒng)都基于微內(nèi)核架構(gòu)。微內(nèi)核有兩個明確的特征:(1)在操作系統(tǒng)內(nèi)核中只實現(xiàn)了一個包含了基本OS服務(wù)的小內(nèi)核(如信號量、定時器、任務(wù)調(diào)度等),包括驅(qū)動程序、文件系統(tǒng)、協(xié)議棧和用戶應(yīng)用程序在內(nèi)的所有其它的組件在內(nèi)核外部分離的、保護(hù)內(nèi)存的進(jìn)程中運行。有問題的系統(tǒng)服務(wù)不再作為孤立的故障點,而是在破壞其它服務(wù)或操作系統(tǒng)內(nèi)核之前被終止并重啟。(2)所有的組件能夠通過消息傳遞進(jìn)行通信,一個定義良好的通信機制保障了程序在保持彼此安全隔離的前提下進(jìn)行數(shù)據(jù)交換。適當(dāng)實現(xiàn)的消息傳遞也可以作為一個虛擬的“軟件總線”,允許任何的軟件組件,甚至是一個設(shè)備驅(qū)動程序被動態(tài)地加入或替換,對于必須提供連續(xù)服務(wù)的系統(tǒng)而言這是一項關(guān)鍵要求。
基于消息傳遞的微內(nèi)核RTOS通常提供了更好的容錯性和動態(tài)升級能力。在實際應(yīng)用中,如果實現(xiàn)正確,消息傳遞的性能可以接近底層硬件的內(nèi)存帶寬。例如,一個微內(nèi)核RTOS可以采用多段式消息和線程到線程的消息數(shù)據(jù)直接拷貝等各種技術(shù),來確保系統(tǒng)性能可以達(dá)到傳統(tǒng)的進(jìn)程間通信方法的水平。
五、幾種常用嵌入式實時操作系統(tǒng)的介紹
VxWorks。VxWorks是美國WindRiver公司的產(chǎn)品,是目前嵌入式系統(tǒng)領(lǐng)域中應(yīng)用很廣泛,市場占有率比較高的嵌入式操作系統(tǒng)。 VxWorks實時操作系統(tǒng)由400多個相對獨立、短小精悍的目標(biāo)模塊組成,用戶可根據(jù)需要選擇適當(dāng)?shù)哪K來裁剪和配置系統(tǒng);提供基于優(yōu)先級的任務(wù)調(diào)度、任務(wù)間同步與通信、中斷處理、定時器和內(nèi)存管理等功能,內(nèi)建符合POSIX(可移植操作系統(tǒng)接口)規(guī)范的內(nèi)存管理,以及多處理器控制程序;并且具有簡明易懂的用戶接口,在核心方面甚至可以微縮到8 KB。
μC/OS-II。μC/OS-II是在μC/OS的基礎(chǔ)上發(fā)展起來的,是美國嵌入式系統(tǒng)專家Jean J.Labrosse用C語言編寫的一個結(jié)構(gòu)小巧、搶占式的多任務(wù)實時內(nèi)核。μC/OS-II能管理64個任務(wù),并提供任務(wù)調(diào)度與管理、內(nèi)存管理、任務(wù)間同步與通信、時間管理和中斷服務(wù)等功能,具有執(zhí)行效率高、占用空間小、實時性能優(yōu)良和可擴展性強等特點。
μClinux。μClinux是一種優(yōu)秀的嵌入式Linux版本,其全稱為micro-control Linux,從字面意思看是指微控制Linux。同標(biāo)準(zhǔn)的Linux相比,μClinux的內(nèi)核非常小,但是它仍然繼承了Linux操作系統(tǒng)的主要特性, 包括良好的穩(wěn)定性和移植性、強大的網(wǎng)絡(luò)功能、出色的文件系統(tǒng)支持、標(biāo)準(zhǔn)豐富的API,以及TCP/IP網(wǎng)絡(luò)協(xié)議等。因為沒有MMU內(nèi)存管理單元,所以其多任務(wù)的實現(xiàn)需要一定技巧。
eCos。eCos(embedded Configurable operating system),即嵌入式可配置操作系統(tǒng)。它是一個源代碼開放的可配置、可移植、面向深度嵌入式應(yīng)用的實時操作系統(tǒng)。最大特點是配置靈活,采用模塊化設(shè)計,核心部分由不同的組件構(gòu)成,包括內(nèi)核、C語言庫和底層運行包等。每個組件可提供大量的配置選項(實時內(nèi)核也可作為可選配置),使用eCos提供的配置工具可以很方便地配置,并通過不同的配置使得eCos能夠滿足不同的嵌入式應(yīng)用要求。
參考文獻(xiàn)
[1]羅蕾.嵌入式實時操作系統(tǒng)及應(yīng)用開發(fā)[M].北京:北京航空航天大學(xué)出版社,2007.
[2]何小慶.微軟嵌入式操作系統(tǒng)的分析和比對(下)[J].電子產(chǎn)品世界,2007(11):128 130.
[3]胡繼陽.嵌入式系統(tǒng)導(dǎo)論[M].北京:中國鐵道出版社,2005.
[4]季志均,馬文麗,陳虎,等.四種嵌入式實時操作系統(tǒng)關(guān)鍵技術(shù)分析[J].計算機應(yīng)用研究,2005(9):4-8.
【嵌入式實時操作系統(tǒng)研究與分析】相關(guān)文章:
電廠熱力系統(tǒng)研究分析03-28
基于嵌入式技術(shù)的分布式系統(tǒng)研究及應(yīng)用論文03-16
電力營銷數(shù)據(jù)分析系統(tǒng)研究論文03-09
匯編偽指令EVEN操作機理的問題分析論文02-25
小學(xué)語文綜合性學(xué)習(xí)的實踐操作分析之我見01-17
黃金期貨實盤操作技巧與客戶心理缺陷分析11-14
企業(yè)合并報表系統(tǒng)研究01-17
智能高層建筑接地系統(tǒng)研究03-28
淺談電梯智能數(shù)據(jù)采集系統(tǒng)研究論文02-19
- 相關(guān)推薦