
一、嵌入式和實(shí)時(shí)系統(tǒng)介紹
嵌入式系統(tǒng)在我們的生活中已經(jīng)無(wú)處不在,如火星探測(cè)器,汽車(chē)上的電動(dòng)裝置,可視電話(huà),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í)行無(wú)誤而且要做到準(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)用開(kāi)發(fā)提供一個(gè)穩(wěn)固的平臺(tái)。RTOS可以是一個(gè)小而簡(jiǎn)單的系統(tǒng),也可以是一個(gè)大而全的系統(tǒng),具體要視實(shí)際應(yīng)用而定.目前流行的許多RTOS都是用戶(hù)可裁剪定制的,如vxworks和pSOS等。
二、嵌入式操作系統(tǒng)實(shí)時(shí)性的幾個(gè)重要性能指標(biāo)
成熟度一個(gè)操作系統(tǒng)從研發(fā)成功到能穩(wěn)定、可靠運(yùn)行的過(guò)程是需要較長(zhǎng)時(shí)間的,只有經(jīng)過(guò)廣泛使用才能逐步走向成熟,成熟度是綜合評(píng)價(jià)操作系統(tǒng)穩(wěn)定性和可靠性的重要指標(biāo)。
穩(wěn)定性穩(wěn)定性是反映嵌入式實(shí)時(shí)操作系統(tǒng)在長(zhǎng)時(shí)間運(yùn)行過(guò)程中不會(huì)出現(xiàn)異常情況,保證應(yīng)用系統(tǒng)能夠穩(wěn)定、可靠地工作的指標(biāo)。
可靠性可靠性是反映嵌入式實(shí)時(shí)操作系統(tǒng)能夠保持正常運(yùn)行而不受外界影響的能力,通常以系統(tǒng)連續(xù)并且可靠運(yùn)行時(shí)間來(lái)度量。
安全性安全性是反映嵌入式實(shí)時(shí)操作系統(tǒng)能夠抵御外部攻擊和應(yīng)用軟件自身缺陷的能力。
開(kāi)放性開(kāi)放性是反映嵌入式實(shí)時(shí)操作系統(tǒng)符合國(guó)際和國(guó)家標(biāo)準(zhǔn)水平以及能否得到眾多第三方(主要包括:驅(qū)動(dòng)程序、開(kāi)發(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(shuō),現(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)功能模塊分類(lèi)的基礎(chǔ)之上,是一種模塊集合作為“層”的結(jié)構(gòu)。操作系統(tǒng)按模塊間功能調(diào)用方式分單內(nèi)核與微核兩類(lèi)。另外還有兩種應(yīng)用模型:虛擬機(jī)與客戶(hù)機(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)這些問(wèn)題時(shí)系統(tǒng)復(fù)位是唯一的選擇。
有一些RTOS試圖通過(guò)使用單內(nèi)核架構(gòu)來(lái)解決這個(gè)問(wèn)題。在這種架構(gòu)中,用戶(hù)的應(yīng)用程序在隔離的、受保護(hù)內(nèi)存地址空間中運(yùn)行。如果一個(gè)應(yīng)用程序試圖訪(fǎng)問(wèn)其地址空間之外的數(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ò)誤都可能帶來(lái)災(zāi)難性的內(nèi)核故障。