嵌入式系統(tǒng)是什么
嵌入式系統(tǒng)是以應(yīng)用為中心、以計算機技術(shù)為基礎(chǔ),軟、硬件可裁剪,適應(yīng)于應(yīng)用系統(tǒng)對功能、可靠性、成本、體積、功耗等方面有特殊要求的專用計算機系統(tǒng)。
嵌入式系統(tǒng)的特點
(1)嵌入式系統(tǒng)是面向特定應(yīng)用的。嵌入式系統(tǒng)中的CPU是專門為特定應(yīng)用設(shè)計的,具有低功耗、體積小、集成度高等特點,能夠把通用CPU中許多由板卡完成的任務(wù)集成在芯片內(nèi)部,從而有利于整個系統(tǒng)設(shè)計趨于小型化。
(2)嵌入式系統(tǒng)涉及先進的計算機技術(shù)、半導(dǎo)體技術(shù)、電子技術(shù)、通信和軟件等各個行業(yè)。是一個技術(shù)密集、資金密集、高度分散、不斷創(chuàng)新的知識集成系統(tǒng)。
(3)嵌入式系統(tǒng)的硬件和軟件都必須具備高度可定制性。
(4)嵌入式系統(tǒng)的生命周期相當(dāng)長。嵌入式系統(tǒng)和具體應(yīng)用有機地結(jié)合在一起,其升級換代也是和具體產(chǎn)品同步進行的。
(5)嵌入式系統(tǒng)本身并不具備在其上進行進一步開發(fā)的能力。在設(shè)計完成以后,用戶如果需要修改其中的程序功能,必須借助于一套專門的開發(fā)工具和環(huán)境。
(6)為了提高執(zhí)行速度和系統(tǒng)可靠性,嵌入式系統(tǒ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é)議、圖形界面、標準化瀏覽器等 Browser。嵌入式操作系統(tǒng)具有通用操作系統(tǒng)的基本特點,如能夠有效管理越來越復(fù)雜的系統(tǒng)資源;能夠把硬件虛擬化,使得開發(fā)人員從繁忙的驅(qū)動程序移植和維護中解脫出來;能夠提供庫函數(shù)、驅(qū)動程序、工具集以及應(yīng)用程序 。與通用操作系統(tǒng)相比較,嵌入式操作系統(tǒng)在系統(tǒng)實時高效性、硬件的相關(guān)依賴性、軟件固態(tài)化以及應(yīng)用的專用性等方面具有較為突出的特點。
使用實時操作系統(tǒng)的必要性
嵌入式實時操作系統(tǒng)在目前的嵌入式應(yīng)用中用得越來越廣泛,尤其在功能復(fù)雜、系統(tǒng)龐大的應(yīng)用中顯得愈來愈重要。
·首先,嵌入式實時操作系統(tǒng)提高了系統(tǒng)的可靠性。在控制系統(tǒng)中,出于安全方面的考慮,要求系統(tǒng)起碼不能崩潰,而且還要有自愈能力。不僅要求在硬件設(shè)計方面提高系統(tǒng)的可靠性和抗干擾性,而且也應(yīng)在軟件設(shè)計方面提高系統(tǒng)的抗干擾性,盡可能地減少安全漏洞和不可靠的隱患。長期以來的前后臺系統(tǒng)軟件設(shè)計在遇到強 干擾時,使得運行的程序產(chǎn)生異常、出錯、跑飛,甚至死循環(huán),造成了系統(tǒng)的崩潰。而實時操作系統(tǒng)管理的系統(tǒng),這種干擾可能只是引起若干進程中的一個被破壞,可以通過系統(tǒng)運行的系統(tǒng)監(jiān)控進程對其進行修復(fù)。通常情況下,這個系統(tǒng)監(jiān)視進程用來監(jiān)視各進程運行狀況,遇到異常情況時采取一些利于系統(tǒng)穩(wěn)定可靠的措施,如 把有問題的任務(wù)清除掉。
·其次,提高了開發(fā)效率,縮短了開發(fā)周期。在嵌入式實時操作系統(tǒng)環(huán)境下,開發(fā)一個復(fù)雜的應(yīng)用程序,通常可以按照軟件工程中的解耦原則將整個程序分解為多個任務(wù)模塊。每個任務(wù)模塊的調(diào)試、修改幾乎不影響其他模塊。商業(yè)軟件一般都提供了良好的多任務(wù)調(diào)試環(huán)境。
·再次,嵌入式實時操作系統(tǒng)充分發(fā)揮了32位CPU的多任務(wù)潛力。32位CPU比8、16位CPU快,另外它本來是為運行多用戶、多任務(wù)操作系統(tǒng)而設(shè)計的,特別適于運行多任務(wù)實時系統(tǒng)。32位CPU采用利于提高系統(tǒng)可靠性和穩(wěn)定性的設(shè)計,使其更容易做到不崩潰。例如, CPU運行狀態(tài)分為系統(tǒng)態(tài)和用戶態(tài)。將系統(tǒng)堆棧和用戶堆棧分開,以及實時地給出CPU的運行狀態(tài)等,允許用戶在系統(tǒng)設(shè)計中從硬件和軟件兩方面對實時內(nèi)核的運行實施保護。如果還是采用以前的前后臺方式,則無法發(fā)揮32位CPU的優(yōu)勢。
從某種意義上說,沒有操作系統(tǒng)的計算機(裸機)是沒有用的。在嵌入式應(yīng)用中,只有把CPU嵌入到系統(tǒng)中,同時又把操作系統(tǒng)嵌入進去,才是真正的計算機嵌入式應(yīng)用。
嵌入式操作系統(tǒng)有什么優(yōu)勢
1)專用性很強:嵌入式操作系統(tǒng)的優(yōu)勢在于個性化很強,其中的軟件系統(tǒng)和硬件的結(jié)合非常緊密,一般要針對硬件進行系統(tǒng)的移植,即使在同一品牌、同一系列的產(chǎn)品中也需要根據(jù)系統(tǒng)硬件的變化和增減不斷進行修改。同時針對不同的任務(wù),往往需要對系統(tǒng)進行較大更改,程序的編譯下載要和系統(tǒng)相結(jié)合。
2)系統(tǒng)內(nèi)核小:對于一般應(yīng)用在小型電子裝置來說,系統(tǒng)資源有限,而嵌入式操作系統(tǒng)的內(nèi)核要比傳統(tǒng)的操作系統(tǒng)小的多。
3)高實時性:EOS實時性一般較強,可用于各種設(shè)備控制中
4)可裁剪性:支持開放性和可伸縮性的體系結(jié)構(gòu)。
5)系統(tǒng)精簡安全:嵌入式操作系統(tǒng)一般沒有系統(tǒng)軟件和應(yīng)用軟件的明顯區(qū)分,不要求其功能設(shè)計及實現(xiàn)上過于復(fù)雜,這樣一方面利于控制系統(tǒng)成本,同時也利于實現(xiàn)系統(tǒng)安全。
6)統(tǒng)一的接口。提供設(shè)備統(tǒng)一的驅(qū)動接口。
7)固化代碼。在嵌入式系統(tǒng)中,嵌入式操作系統(tǒng)和應(yīng)用軟件被固化在嵌入式系統(tǒng)計算機的ROM中。
8)生命周期較長:由于嵌入式操作系統(tǒng)是與具體應(yīng)用應(yīng)用有機結(jié)合在一起,升級換代也是同步進行。
9)強穩(wěn)定性,弱交互性。嵌入式操作系統(tǒng)的優(yōu)勢在于運行開始就不需要用戶過多的干預(yù),用戶接口一般不提供操作命令,它通過系統(tǒng)的調(diào)用命令向用戶程序提供服務(wù),這就要負責(zé)系統(tǒng)管理的EOS具有較強的穩(wěn)定性。
10)操作方便、簡單、提供友好的圖形GUI和圖形界面,提供強大的網(wǎng)絡(luò)功能,支持TCP/IP協(xié)議及其他協(xié)議,提供TCP/UDP/IP/PPP協(xié)議支持及統(tǒng)一的MAC訪問層接口,為各種移動計算設(shè)備預(yù)留接口。
11)可滿足便攜虛擬儀器的需要:嵌入式操作系統(tǒng)目前已進入后PC時代,它的小體積、高可靠能夠滿足實現(xiàn)野戰(zhàn)和惡劣環(huán)境下的便攜虛擬儀器的需要。
12)可靈活定制:相比于通用型計算機系統(tǒng),嵌入式系統(tǒng)功耗低、可靠性高;功能強大、性能價格比高;實時性強,支持多任務(wù);占用空間小,效率高;面向特定應(yīng)用,可根據(jù)需要靈活定制。
嵌入式操作系統(tǒng)的種類
一般情況下,嵌入式操作系統(tǒng)可以分為兩類,一類是面向控制、通信等領(lǐng)域的實時操作系統(tǒng),如WindRiver公司的VxWorks、ISI的pSOS、 QNX系統(tǒng)軟件公司的QNX、ATI的Nucleus等;另一類是面向消費電子產(chǎn)品的非實時操作系統(tǒng),這類產(chǎn)品包括個人數(shù)字助理(PDA)、移動電話、機頂盒、電子書、WebPhone等。
a、非實時操作系統(tǒng)
早期的嵌入式系統(tǒng)中沒有操作系統(tǒng)的 概念,程序員編寫嵌入式程序通常直接面對裸機及裸設(shè)備。在這種情況下,通常把嵌入式程序分成兩部分,即前臺程序和后臺程序。前臺程序通過中段來處理事件,其結(jié)構(gòu)一般為無限循環(huán);后臺程序則掌管整個嵌入式系統(tǒng)軟、硬件資源的分配、管理以及任務(wù)的調(diào)度,是一個系統(tǒng)管理調(diào)度程序。這就是通常所說的前后臺系統(tǒng)。一 般情況下,后臺程序也叫任務(wù)級程序,前臺程序也叫事件處理級程序。在程序運行時,后臺程序檢查每個任務(wù)是否具備運行條件,通過一定的調(diào)度算法來完成相應(yīng)的操作。對于實時性要求特別嚴格的操作通常由中斷來完成,僅在中斷服務(wù)程序中標記事件的發(fā)生,不再做任何工作就退出中斷,經(jīng)過后臺程序的調(diào)度,轉(zhuǎn)由前臺程序 完成事件的處理,這樣就不會造成在中斷服務(wù)程序中處理費時的事件而影響后續(xù)和其他中斷。
實際上,前后臺系統(tǒng)的實時性比預(yù)計 的要差。這是因為前后臺系統(tǒng)認為所有的任務(wù)具有相同的優(yōu)先級別,即是平等的,而且任務(wù)的執(zhí)行又是通過FIFO隊列排隊,因而對那些實時性要求高的任務(wù)不可 能立刻得到處理。另外,由于前臺程序是一個無限循環(huán)的結(jié)構(gòu),一旦在這個循環(huán)體中正在處理的任務(wù)崩潰,使得整個任務(wù)隊列中的其他任務(wù)得不到機會被處理,從而造成整個系統(tǒng)的崩潰。由于這類系統(tǒng)結(jié)構(gòu)簡單,幾乎不需要RAM/ROM的額外開銷,因而在簡單的嵌入式應(yīng)用被廣泛使用。
b、實時操作系統(tǒng)
實時系統(tǒng)是指能在確定的時間內(nèi)執(zhí)行其功能并對外部的異步事件做出響應(yīng)的計算機系統(tǒng)。其操作的正確性不僅依賴于邏輯設(shè)計的正確程度,而且與這些操作進行的時間有關(guān)。“在確定的時間內(nèi)”是該定義的核心。也就是說,實時系統(tǒng)是對響應(yīng)時間有嚴格要求的。
實時系統(tǒng)對邏輯和時序的要求非常嚴格,如果邏輯和時序出現(xiàn)偏差將會引起嚴重后果。實時系統(tǒng)有兩種類型:軟實時系統(tǒng)和硬實時系統(tǒng)。軟實時系統(tǒng)僅要求事件響應(yīng)是實時的,并不要求限定某一任務(wù)必須在多長時間內(nèi)完成;而在硬實時系統(tǒng)中,不僅要求任務(wù)響應(yīng)要實時,而且要求在規(guī)定的時間內(nèi)完成事件的處理。通常,大多 數(shù)實時系統(tǒng)是兩者的結(jié)合。實時應(yīng)用軟件的設(shè)計一般比非實時應(yīng)用軟件的設(shè)計困難。實時系統(tǒng)的技術(shù)關(guān)鍵是如何保證系統(tǒng)的實時性。
實時多任務(wù)操作系統(tǒng)是指具有實時性、能支持實時控制系統(tǒng)工作的操作系統(tǒng)。其首要任務(wù)是調(diào)度一切可利用的資源完成實時控制任務(wù),其次才著眼于提高計算機系統(tǒng)的使用效率,重要特點是要滿足對時間的限制和要求。實時操作系統(tǒng)具有如下功能:任務(wù)管理(多任務(wù)和基于優(yōu)先級的任務(wù)調(diào)度)、任務(wù)間同步和通信(信號量和 郵箱等)、存儲器優(yōu)化管理(含ROM的管理)、實時時鐘服務(wù)、中斷管理服務(wù)。實時操作系統(tǒng)具有如下特點:規(guī)模小,中斷被屏蔽的時間很短,中斷處理時間短,任務(wù)切換很快。
實時操作系統(tǒng)可分為可搶占型和不可搶占型兩類。對于基于優(yōu)先級的系統(tǒng)而言,可搶占型實時操作系統(tǒng)是指內(nèi)核可 以搶占正在運行任務(wù)的CPU使用權(quán)并將使用權(quán)交給進入就緒態(tài)的優(yōu)先級更高的任務(wù),是內(nèi)核搶了CPU讓別的任務(wù)運行。不可搶占型實時操作系統(tǒng)使用某種算法并決定讓某個任務(wù)運行后,就把CPU的控制權(quán)完全交給了該任務(wù),直到它主動將CPU控制權(quán)還回來。中斷由中斷服務(wù)程序來處理,可以激活一個休眠態(tài)的任務(wù),使之進入就緒態(tài);而這個進入就緒態(tài)的任務(wù)還不能運行,一直要等到當(dāng)前運行的任務(wù)主動交出CPU的控制權(quán)。使用這種實時操作系統(tǒng)的實時性比不使用實時操作系統(tǒng)的系統(tǒng)性能好,其實時性取決于最長任務(wù)的執(zhí)行時間。不可搶占型實時操作系統(tǒng)的缺點也恰恰是這一點,如果最長任務(wù)的執(zhí)行時間不能確定,系統(tǒng)的實時性就不能確 定。
可搶占型實時操作系統(tǒng)的實時性好,優(yōu)先級高的任務(wù)只要具備了運行的條件,或者說進入了就緒態(tài),就可以立即運行。也就是 說,除了優(yōu)先級最高的任務(wù),其他任務(wù)在運行過程中都可能隨時被比它優(yōu)先級高的任務(wù)中斷,讓后者運行。通過這種方式的任務(wù)調(diào)度保證了系統(tǒng)的實時性,但是,如果任務(wù)之間搶占CPU控制權(quán)處理不好,會產(chǎn)生系統(tǒng)崩潰、死機等嚴重后果。
嵌入式操作系統(tǒng)的發(fā)展
嵌入式操作系統(tǒng)伴隨著嵌入式系統(tǒng)的發(fā)展經(jīng)歷了4個比較明顯的階段。
第一階段是無操作系統(tǒng)的嵌入算法階段,是以單芯片為核心的可編程控制器形式的系統(tǒng),同時具有與監(jiān)測、伺服、指示設(shè)備相配合的功能。這種系統(tǒng)大部分應(yīng)用于一些專業(yè)性極強的工業(yè)控制系統(tǒng)中,一般沒有操作系統(tǒng)的支持,通過匯編語言編程對系統(tǒng)進行直接控制,運行結(jié)束后清除內(nèi)存。這一階段系統(tǒng)的主要特點是:系統(tǒng) 結(jié)構(gòu)和功能都相對單一,處理效率較低,存儲容量較小,幾乎沒有用戶接口。由于這種嵌入式系統(tǒng)使用簡便、價格很低,以前在國內(nèi)工業(yè)領(lǐng)域應(yīng)用較為普遍,但是已經(jīng)遠遠不能適應(yīng)高效的、需要大容量存儲介質(zhì)的現(xiàn)代化工業(yè)控制和新興的信息家電等領(lǐng)域的需求。
第二階段是以嵌入式CPU為 基礎(chǔ)、以簡單操作系統(tǒng)為核心的嵌入式系統(tǒng)。這一階段系統(tǒng)的主要特點是:CPU種類繁多,通用性比較差;系統(tǒng)開銷小, 效率高;一般配備系統(tǒng)仿真器,操作系統(tǒng)具有一定的兼容性和擴展性;應(yīng)用軟件較專業(yè),用戶界面不夠友好;系統(tǒng)主要用來控制系統(tǒng)負載以及監(jiān)控應(yīng)用程序運行。
第三階段是通用的嵌入式實時操作系統(tǒng)階段,是以嵌入式操作系統(tǒng)為核心的嵌入式系統(tǒng)。這一階段系統(tǒng)的主要特點是:嵌入式操作系統(tǒng)能運行于各種不同類型的微處理器上,兼容性好;操作系統(tǒng)內(nèi)核精小、效率高,并且具有高度的模塊化和擴展性;具備文件和目錄管理、設(shè)備支持、多任務(wù)、網(wǎng)絡(luò) 支持、圖形窗口以及用戶界面等功能;具有大量的應(yīng)用程序接口(API),開發(fā)應(yīng)用程序簡單;嵌入式應(yīng)用軟件豐富。
第四階段是以基于Internet為標志的嵌入式系統(tǒng),這是一個正在迅速發(fā)展的階段。目前大多數(shù)嵌入式系統(tǒng)還孤立于Internet之外,但隨著Internet的發(fā)展以及Internet技術(shù)與
信息家電、工業(yè)控制技術(shù)等結(jié)合日益密切,嵌入式設(shè)備與Internet的結(jié)合將代表著嵌入式技術(shù)的真正未來。
評論
查看更多