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