淺析嵌入式實(shí)時(shí)操作系統(tǒng)_
發(fā)布時(shí)間:2020-02-16 來源: 感悟愛情 點(diǎn)擊:
摘要:嵌入式實(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í)
中圖分類號(hào):TP316.2文獻(xiàn)標(biāo)識(shí)碼:A
1嵌入式實(shí)時(shí)操作系統(tǒng)介紹
嵌入式系統(tǒng)在我們的生活中已經(jīng)無處不在,如火星探測器,汽車上的電動(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)。對外部事件的響應(yīng)有三個(gè)步驟:對外部事件的識(shí)別,必要的處理,以及結(jié)果的輸出。實(shí)時(shí)系統(tǒng)又分為硬實(shí)時(shí)和軟實(shí)時(shí)兩種。在軟實(shí)時(shí)系統(tǒng)中,系統(tǒng)的宗旨是使各個(gè)任務(wù)運(yùn)行得越快越好,對響應(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è)小而簡單的系統(tǒng),也可以是一個(gè)大而全的系統(tǒng),具體要視實(shí)際應(yīng)用而定.目前流行的許多RTOS都是用戶可裁剪定制的,如vxworks和pSOS等。
2嵌入式操作系統(tǒng)實(shí)時(shí)性的幾個(gè)重要性能指標(biāo)
成熟度:一個(gè)操作系統(tǒng)從研發(fā)成功到能穩(wěn)定、可靠運(yùn)行的過程是需要較長時(shí)間的,只有經(jīng)過廣泛使用才能逐步走向成熟,成熟度是綜合評價(jià)操作系統(tǒng)穩(wěn)定性和可靠性的重要指標(biāo)。
穩(wěn)定性:穩(wěn)定性是反映嵌入式實(shí)時(shí)操作系統(tǒ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)符合國際和國家標(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ù)包吞吐率等。
3嵌入式實(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á)形式。
表1:
操作系統(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ò)展模型。
當(dāng)外界事件或數(shù)據(jù)產(chǎn)生時(shí),能夠接受并以足夠快的速度予以處理,其處理的結(jié)果又能在規(guī)定的時(shí)間之內(nèi)來控制生產(chǎn)過程或?qū)μ幚硐到y(tǒng)作出快速響應(yīng),并控制所有實(shí)時(shí)任務(wù)協(xié)調(diào)一致運(yùn)行的嵌入式實(shí)時(shí)操作系統(tǒng)。
嵌入式系統(tǒng)的核心是嵌入式微處理器。嵌入式微處理器一般就具備以下4個(gè)特點(diǎn):1)對實(shí)時(shí)多任務(wù)有很強(qiáng)的支持能力,能完成多任務(wù)并且有較短的中斷響應(yīng)時(shí)間,從而使內(nèi)部的代碼和實(shí)時(shí)內(nèi)核心的執(zhí)行時(shí)間減少到最低限度。2)具有功能很強(qiáng)的存儲(chǔ)區(qū)保護(hù)功能。這是由于嵌入式系統(tǒng)的軟件結(jié)構(gòu)已模塊化,而為了避免在軟件模塊之間出現(xiàn)錯(cuò)誤的交叉作用,需要設(shè)計(jì)強(qiáng)大的存儲(chǔ)區(qū)保護(hù)功能,同時(shí)也有利于軟件診斷。3)可擴(kuò)展的處理器結(jié)構(gòu),以能最迅速地開展出滿足應(yīng)的最高性能的嵌入式微處理器。4)嵌入式微處理器必須功耗很低,尤其是用于便攜式的無線及移動(dòng)的計(jì)算和通信設(shè)備中靠電池供電的嵌入式系統(tǒng)更是如此,如需要功耗只有mW甚至μW級(jí)。
4如何提高嵌入式實(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ù)測的行為和整個(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)地加入或替換,對于必須提供連續(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)程間通信方法的水平。
5幾種常用嵌入式實(shí)時(shí)操作系統(tǒng)的介紹
VxWorks:VxWorks是美國WindRiver公司的產(chǎn)品,是目前嵌入式系統(tǒng)領(lǐng)域中應(yīng)用很廣泛,市場占有率比較高的嵌入式操作系統(tǒng)。VxWorks實(shí)時(shí)操作系統(tǒng)由400多個(gè)相對獨(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)存管理,以及多處理器控制程序;并且具有簡明易懂的用戶接口,在核心方面甚至可以微縮到8 KB。
μC/OS-II:μC/OS-II是在μC/OS的基礎(chǔ)上發(fā)展起來的,是美國嵌入式系統(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語言庫和底層運(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)的分析和比對(下)[J]. 電子產(chǎn)品世界, 2007(11).
[3] 胡繼陽. 嵌入式系統(tǒng)導(dǎo)論[M]. 北京: 中國鐵道出版社, 2005.
[4] 季志均, 馬文麗, 陳虎等.四種嵌入式實(shí)時(shí)操作系統(tǒng)關(guān)鍵技術(shù)分析[J]. 計(jì)算機(jī)應(yīng)用研究, 2005(9).
相關(guān)熱詞搜索:淺析 嵌入式 實(shí)時(shí) 淺析嵌入式實(shí)時(shí)操作系統(tǒng) 嵌入式實(shí)時(shí)操作系統(tǒng) 幾種實(shí)時(shí)嵌入式操作系統(tǒng)
熱點(diǎn)文章閱讀