嵌入式系統(tǒng)和嵌入式操作系統(tǒng)
——
嵌入式系統(tǒng)一般指非pc系統(tǒng),有計(jì)算機(jī)功能但又不稱之為計(jì)算機(jī)的設(shè)備或器材。它是以應(yīng)用為中心,軟硬件可裁減的,適應(yīng)應(yīng)用系統(tǒng)對功能、可靠性、成本、體積、功耗等綜合性嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)。簡單地說,嵌入式系統(tǒng)集系統(tǒng)的應(yīng)用軟件與硬件于一體,類似于pc中bios的工作方式,具有軟件代碼小、高度自動化、響應(yīng)速度快等特點(diǎn),特別適合于要求實(shí)時(shí)和多任務(wù)的體系。嵌入式系統(tǒng)主要由嵌入式處理器、相關(guān)支撐硬件、嵌入式操作系統(tǒng)及應(yīng)用軟件系統(tǒng)等組成,它是可獨(dú)立工作的“器件”。
嵌入式系統(tǒng)幾乎包括了生活中的所有電器設(shè)備,如掌上pda、移動計(jì)算設(shè)備、電視機(jī)頂盒、手機(jī)上網(wǎng)、數(shù)字電視、多媒體、汽車、微波爐、數(shù)字相機(jī)、家庭自動化系統(tǒng)、電梯、空調(diào)、安全系統(tǒng)、自動售貨機(jī)、蜂窩式電話、消費(fèi)電子設(shè)備、工業(yè)自動化儀表與醫(yī)療儀器等。
嵌入式系統(tǒng)的硬件部分,包括處理器/微處理器、存儲器及外設(shè)器件和i/o端口、圖形控制器等。嵌入式系統(tǒng)有別于一般的計(jì)算機(jī)處理系統(tǒng),它不具備像硬盤那樣大容量的存儲介質(zhì),而大多使用eprom、eeprom或閃存(flash memory)作為存儲介質(zhì)。軟件部分包括操作系統(tǒng)軟件(要求實(shí)時(shí)和多任務(wù)操作)和應(yīng)用程序編程。應(yīng)用程序控制著系統(tǒng)的運(yùn)作和行為;而操作系統(tǒng)控制著應(yīng)用程序編程與硬件的交互作用。
二 嵌入式處理器
嵌入式系統(tǒng)的核心是嵌入式微處理器。嵌入式微處理器一般具備4個(gè)特點(diǎn):(1)對實(shí)時(shí)和多任務(wù)有很強(qiáng)的支持能力,能完成多任務(wù)并且有較短的中斷響應(yīng)時(shí)間,從而使內(nèi)部的代碼和實(shí)時(shí)操作系統(tǒng)的執(zhí)行時(shí)間減少到最低限度;(2)具有功能很強(qiáng)的存儲區(qū)保護(hù)功能,這是由于嵌入式系統(tǒng)的軟件結(jié)構(gòu)已模塊化,而為了避免在軟件模塊之間出現(xiàn)錯(cuò)誤的交叉作用,需要設(shè)計(jì)強(qiáng)大的存儲區(qū)保護(hù)功能,同時(shí)也有利于軟件診斷;(3)可擴(kuò)展的處理器結(jié)構(gòu),以能迅速地?cái)U(kuò)展出滿足應(yīng)用的高性能的嵌入式微處理器;(4)嵌入式微處理器的功耗必須很低,尤其是用于便攜式的無線及移動的計(jì)算和通信設(shè)備中靠電池供電的嵌入式系統(tǒng)更是如此,功耗只能為mw甚至μw級。
據(jù)不完全統(tǒng)計(jì),目前全世界嵌入式處理器的品種總量已經(jīng)超過1000種,流行的體系結(jié)構(gòu)有30多個(gè)系列。其中8051體系占多半,生產(chǎn)這種單片機(jī)的半導(dǎo)體廠家有20多個(gè),共350多種衍生產(chǎn)品,僅philips就有近100種?,F(xiàn)在幾乎每個(gè)半導(dǎo)體制造商都生產(chǎn)嵌入式處理器,越來越多的公司有自己的處理器設(shè)計(jì)部門。嵌入式處理器的尋址空間一般從64kb到16mb,處理速度為0.1~2000mips,常用封裝8~144個(gè)引腳。
根據(jù)現(xiàn)狀,嵌入式計(jì)算機(jī)可分成下面幾類。
(1)嵌入式微處理器(embedded microprocessor unit, empu)
嵌入式微處理器采用“增強(qiáng)型”通用微處理器。由于嵌入式系統(tǒng)通常應(yīng)用于環(huán)境比較惡劣的環(huán)境中,因而嵌入式微處理器在工作溫度、電磁兼容性以及可靠性方面的要求較通用的標(biāo)準(zhǔn)微處理器高。但是,嵌入式微處理器在功能方面與標(biāo)準(zhǔn)的微處理器基本上是一樣的。根據(jù)實(shí)際嵌入式應(yīng)用要求,將嵌入式微處理器裝配在專門設(shè)計(jì)的主板上,只保留和嵌入式應(yīng)用有關(guān)的主板功能,這樣可以大幅度減小系統(tǒng)的體積和功耗。和工業(yè)控制計(jì)算機(jī)相比,嵌入式微處理器組成的系統(tǒng)具有體積小、重量輕、成本低、可靠性高的優(yōu)點(diǎn),但在其電路板上必須包括rom、ram、總線接口、各種外設(shè)等器件,從而降低了系統(tǒng)的可靠性,技術(shù)保密性也較差。由嵌入式微處理器及其存儲器、總線、外設(shè)等安裝在一塊電路主板上構(gòu)成一個(gè)通常所說的單板機(jī)系統(tǒng)。嵌入式處理器目前主要有am186/88、386ex、sc-400、power pc、68000、mips、arm系列等。
(2)嵌入式微控制器(microcontroller unit, mcu)
嵌入式微控制器又稱單片機(jī),它將整個(gè)計(jì)算機(jī)系統(tǒng)集成到一塊芯片中。嵌入式微控制器一般以某種微處理器內(nèi)核為核心,根據(jù)某些典型的應(yīng)用,在芯片內(nèi)部集成了rom/eprom、ram、總線、總線邏輯、定時(shí)/計(jì)數(shù)器、看門狗、i/o、串行口、脈寬調(diào)制輸出、a/d、d/a、flash ram、eeprom等各種必要功能部件和外設(shè)。為適應(yīng)不同的應(yīng)用需求,對功能的設(shè)置和外設(shè)的配置進(jìn)行必要的修改和裁減定制,使得一個(gè)系列的單片機(jī)具有多種衍生產(chǎn)品,每種衍生產(chǎn)品的處理器內(nèi)核都相同,不同的是存儲器和外設(shè)的配置及功能的設(shè)置。這樣可以使單片機(jī)最大限度地和應(yīng)用需求相匹配,從而減少整個(gè)系統(tǒng)的功耗和成本。和嵌入式微處理器相比,微控制器的單片化使應(yīng)用系統(tǒng)的體積大大減小,從而使功耗和成本大幅度下降、可靠性提高。由于嵌入式微控制器目前在產(chǎn)品的品種和數(shù)量上是所有種類嵌入式處理器中最多的,而且上述諸多優(yōu)點(diǎn)決定了微控制器是嵌入式系統(tǒng)應(yīng)用的主流。微控制器的片上外設(shè)資源一般比較豐富,適合于控制,因此稱為微控制器。通常,嵌入式微處理器可分為通用和半通用兩類,比較有代表性的通用系列包括8051、p51xa、mcs-251、mcs-96/196/296、c166/167、68300等。而比較有代表性的半通用系列,如支持usb接口的mcu 8xc930/931、c540、c541;支持i2c、can總線、lcd等的眾多專用mcu和兼容系列。目前mcu約占嵌入式系統(tǒng)市場份額的70%。
(3)嵌入式dsp處理器(embedded digital signal processor, edsp)
在數(shù)字信號處理應(yīng)用中,各種數(shù)字信號處理算法相當(dāng)復(fù)雜,這些算法的復(fù)雜度可能是o(nm)的,甚至是np的,一般結(jié)構(gòu)的處理器無法實(shí)時(shí)的完成這些運(yùn)算。由于dsp處理器對系統(tǒng)結(jié)構(gòu)和指令進(jìn)行了特殊設(shè)計(jì),使其適合于實(shí)時(shí)地進(jìn)行數(shù)字信號處理。在數(shù)字濾波、fft、譜分析等方面,dsp算法正大量進(jìn)入嵌入式領(lǐng)域,dsp應(yīng)用正從在通用單片機(jī)中以普通指令實(shí)現(xiàn)dsp功能,過渡到采用嵌入式dsp處理器。嵌入式dsp處理器有兩類:(1)dsp處理器經(jīng)過單片化、emc改造、增加片上外設(shè)成為嵌入式dsp處理器,ti的tms320c2000/c5000等屬于此范疇;(2)在通用單片機(jī)或soc中增加dsp協(xié)處理器,例如intel的mcs-296和infineon(siemens)的tricore。另外,在有關(guān)智能方面的應(yīng)用中,也需要嵌入式dps處理器,例如各種帶有智能邏輯的消費(fèi)類產(chǎn)品,生物信息識別終端,帶有加解密算法的鍵盤,adsl接入、實(shí)時(shí)語音壓解系統(tǒng),虛擬現(xiàn)實(shí)顯示等。這類智能化算法一般都是運(yùn)算量較大,特別是向量運(yùn)算、指針線性尋址等較多,而這些正是dsp處理器的優(yōu)勢所在。嵌入式dsp處理器比較有代表性的產(chǎn)品是ti的tms320系列和motorola的dsp56000系列。tms320系列處理器包括用于控制的c2000系列、移動通信的c5000系列,以及性能更高的c6000和c8000系列。dsp56000目前已經(jīng)發(fā)展成為dsp56000、dsp56100、dsp56200和dsp56300等幾個(gè)不同系列的處理器。另外,philips公司最近也推出了基于可重置嵌入式dsp結(jié)構(gòu),采用低成本、低功耗技術(shù)制造的r. e. a. l dsp處理器,其特點(diǎn)是具備雙harvard結(jié)構(gòu)和雙乘/累加單元,應(yīng)用目標(biāo)是大批量消費(fèi)類產(chǎn)品。
(4)嵌入式片上系統(tǒng)(system on chip, soc)
隨著edi的推廣和vlsi設(shè)計(jì)的普及化,以及半導(dǎo)體工藝的迅速發(fā)展,可以在一塊硅片上實(shí)現(xiàn)一個(gè)更為復(fù)雜的系統(tǒng),這就產(chǎn)生了soc技術(shù)。各種通用處理器內(nèi)核將作為soc設(shè)計(jì)公司的標(biāo)準(zhǔn)庫,和其他許多嵌入式系統(tǒng)外設(shè)一樣,成為vlsi設(shè)計(jì)中一種標(biāo)準(zhǔn)的器件,用標(biāo)準(zhǔn)的vhdl、verlog等硬件語言描述,存儲在器件庫中。用戶只需定義出其整個(gè)應(yīng)用系統(tǒng),仿真通過后就可以將設(shè)計(jì)圖交給半導(dǎo)體工廠制作樣品。這樣除某些無法集成的器件以外,整個(gè)嵌入式系統(tǒng)大部分均可集成到一塊或幾塊芯片中去,應(yīng)用系統(tǒng)電路板將變得很簡單,對于減小整個(gè)應(yīng)用系統(tǒng)體積和功耗、提高可靠性非常有利。soc可分為通用和專用兩類,通用soc如infineon(siemens)的tricore、motorola的m-core,以及某些arm系列器件,如echelon和motorola聯(lián)合研制的neuron芯片等;專用soc一般專用于某個(gè)或某類系統(tǒng)中,如philips的smart xa,它將xa單片機(jī)內(nèi)核和支持超過2048位復(fù)雜rsa算法的ccu單元制作在一塊硅片上,形成一個(gè)可加載java或c語言的專用soc,可用于互聯(lián)網(wǎng)安全方面。
三 嵌入式操作系統(tǒng)
嵌入式操作系統(tǒng)是一種支持嵌入式系統(tǒng)應(yīng)用的操作系統(tǒng)軟件,它是嵌入式系統(tǒng)(包括硬、軟件系統(tǒng))極為重要的組成部分,通常包括與硬件相關(guān)的底層驅(qū)動軟件、系統(tǒng)內(nèi)核、設(shè)備驅(qū)動接口、通信協(xié)議、圖形界面、標(biāo)準(zhǔn)化瀏覽器等browser。嵌入式操作系統(tǒng)具有通用操作系統(tǒng)的基本特點(diǎn),如能夠有效管理越來越復(fù)雜的系統(tǒng)資源;能夠把硬件虛擬化,使得開發(fā)人員從繁忙的驅(qū)動程序移植和維護(hù)中解脫出來;能夠提供庫函數(shù)、驅(qū)動程序、工具集以及應(yīng)用程序 。與通用操作系統(tǒng)相比較,嵌入式操作系統(tǒng)在系統(tǒng)實(shí)時(shí)高效性、硬件的相關(guān)依賴性、軟件固態(tài)化以及應(yīng)用的專用性等方面具有較為突出的特點(diǎn)。
1. 嵌入式操作系統(tǒng)的種類
一般情況下,嵌入式操作系統(tǒng)可以分為兩類,一類是面向控制、通信等領(lǐng)域的實(shí)時(shí)操作系統(tǒng),如windriver公司的vxworks、isi的psos、qnx系統(tǒng)軟件公司的qnx、ati的nucleus等;另一類是面向消費(fèi)電子產(chǎn)品的非實(shí)時(shí)操作系統(tǒng),這類產(chǎn)品包括個(gè)人數(shù)字助理(pda)、移動電話、機(jī)頂盒、電子書、webphone等。
a. 非實(shí)時(shí)操作系統(tǒng)
早期的嵌入式系統(tǒng)中沒有操作系統(tǒng)的概念,程序員編寫嵌入式程序通常直接面對裸機(jī)及裸設(shè)備。在這種情況下,通常把嵌入式程序分成兩部分,即前臺程序和后臺程序。前臺程序通過中段來處理事件,其結(jié)構(gòu)一般為無限循環(huán);后臺程序則掌管整個(gè)嵌入式系統(tǒng)軟、硬件資源的分配、管理以及任務(wù)的調(diào)度,是一個(gè)系統(tǒng)管理調(diào)度程序。這就是通常所說的前后臺系統(tǒng)。一般情況下,后臺程序也叫任務(wù)級程序,前臺程序也叫事件處理級程序。在程序運(yùn)行時(shí),后臺程序檢查每個(gè)任務(wù)是否具備運(yùn)行條件,通過一定的調(diào)度算法來完成相應(yīng)的操作。對于實(shí)時(shí)性要求特別嚴(yán)格的操作通常由中斷來完成,僅在中斷服務(wù)程序中標(biāo)記事件的發(fā)生,不再做任何工作就退出中斷,經(jīng)過后臺程序的調(diào)度,轉(zhuǎn)由前臺程序完成事件的處理,這樣就不會造成在中斷服務(wù)程序中處理費(fèi)時(shí)的事件而影響后續(xù)和其他中斷。
實(shí)際上,前后臺系統(tǒng)的實(shí)時(shí)性比預(yù)計(jì)的要差。這是因?yàn)榍昂笈_系統(tǒng)認(rèn)為所有的任務(wù)具有相同的優(yōu)先級別,即是平等的,而且任務(wù)的執(zhí)行又是通過fifo隊(duì)列排隊(duì),因而對那些實(shí)時(shí)性要求高的任務(wù)不可能立刻得到處理。另外,由于前臺程序是一個(gè)無限循環(huán)的結(jié)構(gòu),一旦在這個(gè)循環(huán)體中正在處理的任務(wù)崩潰,使得整個(gè)任務(wù)隊(duì)列中的其他任務(wù)得不到機(jī)會被處理,從而造成整個(gè)系統(tǒng)的崩潰。由于這類系統(tǒng)結(jié)構(gòu)簡單,幾乎不需要ram/rom的額外開銷,因而在簡單的嵌入式應(yīng)用被廣泛使用。
b. 實(shí)時(shí)操作系統(tǒng)
實(shí)時(shí)系統(tǒng)是指能在確定的時(shí)間內(nèi)執(zhí)行其功能并對外部的異步事件做出響應(yīng)的計(jì)算機(jī)系統(tǒng)。其操作的正確性不僅依賴于邏輯設(shè)計(jì)的正確程度,而且與這些操作進(jìn)行的時(shí)間有關(guān)?!霸诖_定的時(shí)間內(nèi)”是該定義的核心。也就是說,實(shí)時(shí)系統(tǒng)是對響應(yīng)時(shí)間有嚴(yán)格要求的。
實(shí)時(shí)系統(tǒng)對邏輯和時(shí)序的要求非常嚴(yán)格,如果邏輯和時(shí)序出現(xiàn)偏差將會引起嚴(yán)重后果。實(shí)時(shí)系統(tǒng)有兩種類型:軟實(shí)時(shí)系統(tǒng)和硬實(shí)時(shí)系統(tǒng)。軟實(shí)時(shí)系統(tǒng)僅要求事件響應(yīng)是實(shí)時(shí)的,并不要求限定某一任務(wù)必須在多長時(shí)間內(nèi)完成;而在硬實(shí)時(shí)系統(tǒng)中,不僅要求任務(wù)響應(yīng)要實(shí)時(shí),而且要求在規(guī)定的時(shí)間內(nèi)完成事件的處理。通常,大多數(shù)實(shí)時(shí)系統(tǒng)是兩者的結(jié)合。實(shí)時(shí)應(yīng)用軟件的設(shè)計(jì)一般比非實(shí)時(shí)應(yīng)用軟件的設(shè)計(jì)困難。實(shí)時(shí)系統(tǒng)的技術(shù)關(guān)鍵是如何保證系統(tǒng)的實(shí)時(shí)性。
實(shí)時(shí)多任務(wù)操作系統(tǒng)是指具有實(shí)時(shí)性、能支持實(shí)時(shí)控制系統(tǒng)工作的操作系統(tǒng)。其首要任務(wù)是調(diào)度一切可利用的資源完成實(shí)時(shí)控制任務(wù),其次才著眼于提高計(jì)算機(jī)系統(tǒng)的使用效率,重要特點(diǎn)是要滿足對時(shí)間的限制和要求。實(shí)時(shí)操作系統(tǒng)具有如下功能:任務(wù)管理(多任務(wù)和基于優(yōu)先級的任務(wù)調(diào)度)、任務(wù)間同步和通信(信號量和郵箱等)、存儲器優(yōu)化管理(含rom的管理)、實(shí)時(shí)時(shí)鐘服務(wù)、中斷管理服務(wù)。實(shí)時(shí)操作系統(tǒng)具有如下特點(diǎn):規(guī)模小,中斷被屏蔽的時(shí)間很短,中斷處理時(shí)間短,任務(wù)切換很快。
實(shí)時(shí)操作系統(tǒng)可分為可搶占型和不可搶占型兩類。對于基于優(yōu)先級的系統(tǒng)而言,可搶占型實(shí)時(shí)操作系統(tǒng)是指內(nèi)核可以搶占正在運(yùn)行任務(wù)的cpu使用權(quán)并將使用權(quán)交給進(jìn)入就緒態(tài)的優(yōu)先級更高的任務(wù),是內(nèi)核搶了cpu讓別的任務(wù)運(yùn)行。不可搶占型實(shí)時(shí)操作系統(tǒng)使用某種算法并決定讓某個(gè)任務(wù)運(yùn)行后,就把cpu的控制權(quán)完全交給了該任務(wù),直到它主動將cpu控制權(quán)還回來。中斷由中斷服務(wù)程序來處理,可以激活一個(gè)休眠態(tài)的任務(wù),使之進(jìn)入就緒態(tài);而這個(gè)進(jìn)入就緒態(tài)的任務(wù)還不能運(yùn)行,一直要等到當(dāng)前運(yùn)行的任務(wù)主動交出cpu的控制權(quán)。使用這種實(shí)時(shí)操作系統(tǒng)的實(shí)時(shí)性比不使用實(shí)時(shí)操作系統(tǒng)的系統(tǒng)性能好,其實(shí)時(shí)性取決于最長任務(wù)的執(zhí)行時(shí)間。不可搶占型實(shí)時(shí)操作系統(tǒng)的缺點(diǎn)也恰恰是這一點(diǎn),如果最長任務(wù)的執(zhí)行時(shí)間不能確定,系統(tǒng)的實(shí)時(shí)性就不能確定。
可搶占型實(shí)時(shí)操作系統(tǒng)的實(shí)時(shí)性好,優(yōu)先級高的任務(wù)只要具備了運(yùn)行的條件,或者說進(jìn)入了就緒態(tài),就可以立即運(yùn)行。也就是說,除了優(yōu)先級最高的任務(wù),其他任務(wù)在運(yùn)行過程中都可能隨時(shí)被比它優(yōu)先級高的任務(wù)中斷,讓后者運(yùn)行。通過這種方式的任務(wù)調(diào)度保證了系統(tǒng)的實(shí)時(shí)性,但是,如果任務(wù)之間搶占cpu控制權(quán)處理不好,會產(chǎn)生系統(tǒng)崩潰、死機(jī)等嚴(yán)重后果。
2. 嵌入式操作系統(tǒng)的發(fā)展
嵌入式操作系統(tǒng)伴隨著嵌入式系統(tǒng)的發(fā)展經(jīng)歷了4個(gè)比較明顯的階段。
第一階段是無操作系統(tǒng)的嵌入算法階段,是以單芯片為核心的可編程控制器形式的系統(tǒng),同時(shí)具有與監(jiān)測、伺服、指示設(shè)備相配合的功能。這種系統(tǒng)大部分應(yīng)用于一些專業(yè)性極強(qiáng)的工業(yè)控制系統(tǒng)中,一般沒有操作系統(tǒng)的支持,通過匯編語言編程對系統(tǒng)進(jìn)行直接控制,運(yùn)行結(jié)束后清除內(nèi)存。這一階段系統(tǒng)的主要特點(diǎn)是:系統(tǒng)結(jié)構(gòu)和功能都相對單一,處理效率較低,存儲容量較小,幾乎沒有用戶接口。由于這種嵌入式系統(tǒng)使用簡便、價(jià)格很低,以前在國內(nèi)工業(yè)領(lǐng)域應(yīng)用較為普遍,但是已經(jīng)遠(yuǎn)遠(yuǎn)不能適應(yīng)高效的、需要大容量存儲介質(zhì)的現(xiàn)代化工業(yè)控制和新興的信息家電等領(lǐng)域的需求。
第二階段是以嵌入式cpu為基礎(chǔ)、以簡單操作系統(tǒng)為核心的嵌入式系統(tǒng)。這一階段系統(tǒng)的主要特點(diǎn)是:cpu種類繁多,通用性比較差;系統(tǒng)開銷小, 效率高;一般配備系統(tǒng)仿真器,操作系統(tǒng)具有一定的兼容性和擴(kuò)展性;應(yīng)用軟件較專業(yè),用戶界面不夠友好;系統(tǒng)主要用來控制系統(tǒng)負(fù)載以及監(jiān)控應(yīng)用程序運(yùn)行。
第三階段是通用的嵌入式實(shí)時(shí)操作系統(tǒng)階段,是以嵌入式操作系統(tǒng)為核心的嵌入式系統(tǒng)。這一階段系統(tǒng)的主要特點(diǎn)是:嵌入式操作系統(tǒng)能運(yùn)行于各種不同類型的微處理器上,兼容性好;操作系統(tǒng)內(nèi)核精小、效率高,并且具有高度的模塊化和擴(kuò)展性;具備文件和目錄管理、設(shè)備支持、多任務(wù)、網(wǎng)絡(luò)支持、圖形窗口以及用戶界面等功能;具有大量的應(yīng)用程序接口(api),開發(fā)應(yīng)用程序簡單;嵌入式應(yīng)用軟件豐富。
第四階段是以基于internet為標(biāo)志的嵌入式系統(tǒng),這是一個(gè)正在迅速發(fā)展的階段。目前大多數(shù)嵌入式系統(tǒng)還孤立于internet之外,但隨著internet的發(fā)展以及internet技術(shù)與信息家電、工業(yè)控制技術(shù)等結(jié)合日益密切,嵌入式設(shè)備與internet的結(jié)合將代表著嵌入式技術(shù)的真正未來。
3. 使用實(shí)時(shí)操作系統(tǒng)的必要性
嵌入式實(shí)時(shí)操作系統(tǒng)在目前的嵌入式應(yīng)用中用得越來越廣泛,尤其在功能復(fù)雜、系統(tǒng)龐大的應(yīng)用中顯得愈來愈重要。
首先,嵌入式實(shí)時(shí)操作系統(tǒng)提高了系統(tǒng)的可靠性。在控制系統(tǒng)中,出于安全方面的考慮,要求系統(tǒng)起碼不能崩潰,而且還要有自愈能力。不僅要求在硬件設(shè)計(jì)方面提高系統(tǒng)的可靠性和抗干擾性,而且也應(yīng)在軟件設(shè)計(jì)方面提高系統(tǒng)的抗干擾性,盡可能地減少安全漏洞和不可靠的隱患。長期以來的前后臺系統(tǒng)軟件設(shè)計(jì)在遇到強(qiáng)干擾時(shí),使得運(yùn)行的程序產(chǎn)生異常、出錯(cuò)、跑飛,甚至死循環(huán),造成了系統(tǒng)的崩潰。而實(shí)時(shí)操作系統(tǒng)管理的系統(tǒng),這種干擾可能只是引起若干進(jìn)程中的一個(gè)被破壞,可以通過系統(tǒng)運(yùn)行的系統(tǒng)監(jiān)控進(jìn)程對其進(jìn)行修復(fù)。通常情況下,這個(gè)系統(tǒng)監(jiān)視進(jìn)程用來監(jiān)視各進(jìn)程運(yùn)行狀況,遇到異常情況時(shí)采取一些利于系統(tǒng)穩(wěn)定可靠的措施,如把有問題的任務(wù)清除掉。
其次,提高了開發(fā)效率,縮短了開發(fā)周期。在嵌入式實(shí)時(shí)操作系統(tǒng)環(huán)境下,開發(fā)一個(gè)復(fù)雜的應(yīng)用程序,通??梢园凑哲浖こ讨械慕怦钤瓌t將整個(gè)程序分解為多個(gè)任務(wù)模塊。每個(gè)任務(wù)模塊的調(diào)試、修改幾乎不影響其他模塊。商業(yè)軟件一般都提供了良好的多任務(wù)調(diào)試環(huán)境。
再次,嵌入式實(shí)時(shí)操作系統(tǒng)充分發(fā)揮了32位cpu的多任務(wù)潛力。32位cpu比8、16位cpu快,另外它本來是為運(yùn)行多用戶、多任務(wù)操作系統(tǒng)而設(shè)計(jì)的,特別適于運(yùn)行多任務(wù)實(shí)時(shí)系統(tǒng)。32位cpu采用利于提高系統(tǒng)可靠性和穩(wěn)定性的設(shè)計(jì),使其更容易做到不崩潰。例如, cpu運(yùn)行狀態(tài)分為系統(tǒng)態(tài)和用戶態(tài)。將系統(tǒng)堆棧和用戶堆棧分開,以及實(shí)時(shí)地給出cpu的運(yùn)行狀態(tài)等,允許用戶在系統(tǒng)設(shè)計(jì)中從硬件和軟件兩方面對實(shí)時(shí)內(nèi)核的運(yùn)行實(shí)施保護(hù)。如果還是采用以前的前后臺方式,則無法發(fā)揮32位cpu的優(yōu)勢。
從某種意義上說,沒有操作系統(tǒng)的計(jì)算機(jī)(裸機(jī))是沒有用的。在嵌入式應(yīng)用中,只有把cpu嵌入到系統(tǒng)中,同時(shí)又把操作系統(tǒng)嵌入進(jìn)去,才是真正的計(jì)算機(jī)嵌入式應(yīng)用。
4. 實(shí)時(shí)操作系統(tǒng)的優(yōu)缺點(diǎn)
在嵌入式實(shí)時(shí)操作系統(tǒng)環(huán)境下開發(fā)實(shí)時(shí)應(yīng)用程序使程序的設(shè)計(jì)和擴(kuò)展變得容易,不需要大的改動就可以增加新的功能。通過將應(yīng)用程序分割成若干獨(dú)立的任務(wù)模塊,使應(yīng)用程序的設(shè)計(jì)過程大為簡化;而且對實(shí)時(shí)性要求苛刻的事件都得到了快速、可靠的處理。通過有效的系統(tǒng)服務(wù),嵌入式實(shí)時(shí)操作系統(tǒng)使得系統(tǒng)資源得到更好的利用。
但是,使用嵌入式實(shí)時(shí)操作系統(tǒng)還需要額外的rom/ram開銷,2~5%的cpu額外負(fù)荷,以及內(nèi)核的費(fèi)用。 脈寬調(diào)制相關(guān)文章:脈寬調(diào)制原理
評論