嵌入式系統(tǒng)是以應(yīng)用為中心,以計算機(jī)技術(shù)為基礎(chǔ),并且軟硬件可裁剪,適用于應(yīng)用系統(tǒng)對功能、可靠性、成本、體積、功耗有嚴(yán)格要求的專用計算機(jī)系統(tǒng)。它一般由嵌入式微處理器、外圍硬件設(shè)備、嵌入式操作系統(tǒng)以及用戶的應(yīng)用程序等四個部分組成,用于實現(xiàn)對其他設(shè)備的控制、監(jiān)視或管理等功能。作為嵌入式系統(tǒng)的重要組成部分,嵌入式操作系統(tǒng) EOS(Embedded Operating System)是隨著嵌入式系統(tǒng)的發(fā)展而出現(xiàn)的,是嵌入式系統(tǒng)發(fā)展到一定階段的產(chǎn)物。嵌入式操作系統(tǒng)的出現(xiàn),大大提高了嵌入式系統(tǒng)的開發(fā)效率,同時也促進(jìn)了嵌入式的發(fā)展。
嵌入式操作系統(tǒng)并不是簡單嵌入的操作系統(tǒng),它除了具有通用操作系統(tǒng)的基本特點外,在小巧、實時性、可裝卸、可固化代碼、強穩(wěn)定性、弱交互性、具備統(tǒng)一接口等方面有突出的特點。 2三種典型 EOS分析
作為在嵌入式操作系統(tǒng)市場通用的三種系統(tǒng),Linux 、VxWorks 、Windows CE在實時性、內(nèi)核大小、調(diào)度算法、通信能力和開發(fā)環(huán)境等方面都有自己的特點,下面就對這幾種系統(tǒng)的特點做一分析。
2.1 VxWorks
VxWorks操作系統(tǒng)是美國 WindRiver公司于 1983年設(shè)計開發(fā)的一種嵌入式實時操作系統(tǒng),依據(jù)其良好的持續(xù)發(fā)展能力、高性能的內(nèi)核以及友好的用戶開發(fā)環(huán)境,在嵌入式實時操作系統(tǒng)領(lǐng)域占據(jù)一席之地。它以其良好的可靠性和卓越的實時性被廣泛地應(yīng)用在通信、軍事、航空、航天等高精尖技術(shù)及實時性要求極高的領(lǐng)域中,如衛(wèi)星通訊、軍事演習(xí)、彈道制導(dǎo)、飛機(jī)導(dǎo)航等。應(yīng)用實例包括美國的 F-16、FA-18戰(zhàn)斗機(jī)、B-2 隱形轟炸機(jī)、火星探測器、愛國者導(dǎo)彈等。
VxWorks的特點有:
1)高實時性實時性是指能夠在限定時間內(nèi)執(zhí)行完規(guī)定的功能并對外部的異步事件作出響應(yīng)的能力。實時性的強弱是以完成規(guī)定功能和作出響應(yīng)時間的長短來衡量的。
VxWorks 的實時性做得非常好,其系統(tǒng)本身的開銷很小,進(jìn)程調(diào)度、進(jìn)程間通信、中斷處理等系統(tǒng)公用程序精練而有效,它們造成的延遲很短。 VxWorks 的任務(wù)調(diào)度策略以可搶占式調(diào)度( Preemptive Priority Scheduling)為基礎(chǔ),輔以時間輪轉(zhuǎn)調(diào)度算法( Round-Robin Scheduling)機(jī)制。這一調(diào)度算法使得 VxWorks 能夠及時響應(yīng)高優(yōu)先級的任務(wù)。而同級任務(wù)間則可選擇時間片輪轉(zhuǎn)法使多個同優(yōu)先級的任務(wù)并發(fā)執(zhí)行。
2)可裁剪性 VxWorks的可裁剪性,可以使開發(fā)者根據(jù)自己應(yīng)用程序的需要來選擇操作系統(tǒng)中部件,用戶沒用到的功能模塊都可以去掉。
VxWorks 由一個體積很小的內(nèi)核及一些可以根據(jù)需要進(jìn)行定制的系統(tǒng)模塊組成。 VxWorks 內(nèi)核最小為 8kB,即便加上其它必要模塊,所占用的空間也很小,且不失其實時、多任務(wù)的系統(tǒng)特征。由于它的高度靈活性,用戶可以很容易地對這一操作系統(tǒng)進(jìn)行定制或作適當(dāng)開發(fā),來滿足自己的實際應(yīng)用需要。
3)友好的開發(fā)調(diào)試環(huán)境
VxWorks的開發(fā)環(huán)境 Tornado是一個友好的開發(fā)環(huán)境,它可以運行在多種主機(jī)上,包括 Sun、HP、Dec、MIPS等,主機(jī)的操作系統(tǒng)則支持 Unix、Windows NT等。系統(tǒng)使用的流行圖形界面方便使用者較快地理解和掌握。 VxWorks支持應(yīng)用程序的動態(tài)鏈接和動態(tài)下載,使開發(fā)者省去了每次調(diào)試都將應(yīng)用程序與操作系統(tǒng)內(nèi)核進(jìn)行鏈接和下載的步驟,縮短了編輯調(diào)試的周期。而 VxWorks具有的可視化圖形界面的調(diào)試工具,也很大程度地方便了開發(fā)者的調(diào)試工作。
2.2 Windows CE
Windows CE(下稱 Wince)是微軟開發(fā)的一個源碼開放的、緊湊的、高效和可擴(kuò)展的操作系統(tǒng),適用于各種嵌入式系統(tǒng)和產(chǎn)品。它擁有多線程、多任務(wù)、確定性的實時、完全搶先式優(yōu)先級的操作系統(tǒng)環(huán)境,專門面向只有有限資源的硬件環(huán)境。同時,它的模塊化設(shè)計方式使得系統(tǒng)開發(fā)人員和應(yīng)用開發(fā)人員能夠為多種多樣的產(chǎn)品來定制它,例如手持電腦、專用的工業(yè)控制器以及消費用電子產(chǎn)品等。
Wince除了具有 Windows系統(tǒng)的許多共性外,又具有嵌入式系統(tǒng)所要求的實時性、內(nèi)存小等特性。同時 Embedded Visual C++給嵌入式系統(tǒng)應(yīng)用程序的開發(fā)提供了極大的方便。因此,利用 Wince開發(fā)嵌入式系統(tǒng)或裝置不僅可以獲得最好的性能,而且可以縮短開發(fā)周期和降低技術(shù)風(fēng)險。
Wince的特點有:
1)實時性支持
Wince的實時性支持包括以下內(nèi)容:支持嵌套的中斷,這可以讓高優(yōu)先級的中斷立即被響應(yīng);更好的線程響應(yīng),高優(yōu)先級的中斷服務(wù)線程調(diào)度延遲的上限更加緊了,這可以讓開發(fā)人員知道線程調(diào)度轉(zhuǎn)換發(fā)生的時間,通過提高監(jiān)視和控制硬件的能力開發(fā)新的嵌入式應(yīng)用程序;更多的優(yōu)先級別, 256個優(yōu)先級別給予開發(fā)人員更大的靈活性來控制嵌入式系統(tǒng)的調(diào)度;以及更好的控制,對線程時間片級的控制可以支持對調(diào)度機(jī)制更大的控制。
2)內(nèi)核大小
WinCE的內(nèi)核可以很小,最小內(nèi)核可以不足 350kB,因為系統(tǒng)的大部分功能都在各自的功能模塊中實現(xiàn)。不過,它是 WinCE操作系統(tǒng)真正的核心,主要完成 6類功能,即處理器調(diào)度、內(nèi)存管理、異常處理、系統(tǒng)內(nèi)的通信機(jī)制、為其他部分提供核心調(diào)用例程、為系統(tǒng)范圍內(nèi)的調(diào)試提供支持。
3)擁有良好的通信能力
Wince對通信的支持是十分靈活的,可完成的通信任務(wù)包括:從網(wǎng)絡(luò)或臺式機(jī)下載文件;基于Wince的設(shè)備之間的信息交換;發(fā)送和接收電子郵件;向服務(wù)器發(fā)送數(shù)據(jù);瀏覽Internet;閱讀條形碼等。為了實現(xiàn)這些不同的通信要求,Wince能支持多種通信硬件,如串行電纜、紅外線收發(fā)器,無線收發(fā)器、調(diào)制解調(diào)器和條形碼閱讀器等。 Wince支持兩種基本的通信技術(shù):串行通信和網(wǎng)絡(luò)通信。
4)支持超過 1400個 Win32 API
有了這些 API,開發(fā)者就能利用大量其他的編程資源、工具、軟件例子以及文檔來進(jìn)行開發(fā)工作,降低了培訓(xùn)成本,縮短了進(jìn)入市場的時間。
5)模塊化設(shè)計方法
Wince的模塊化設(shè)計使得它能夠在大量的平臺上定制使用,開發(fā)者可以使用滿足平臺系統(tǒng)需求的最小軟件模塊和組件集合來設(shè)計嵌入式系統(tǒng)平臺,從而使內(nèi)存用量最小并最大可能地提供操作系統(tǒng)的性能。
2.3 Linux
Linux是 Unix操作系統(tǒng)的克隆,可以免費使用,遵循 GPL聲明,可以自由修改和傳播,是一個自由的操作系統(tǒng)。Linux起源于芬蘭一個名為 Linus Torvalds的業(yè)余愛好,但是現(xiàn)在已經(jīng)是最為流行的一款開放源代碼的操作系統(tǒng)。從 1991年問世到現(xiàn)在, Linux已發(fā)展成為一個功能強大、設(shè)計完善的操作系統(tǒng),不僅能夠運行于 PC平臺,還在嵌入式系統(tǒng)方面大放光芒,這與 Linux具有的良好特性是分不開的。簡單的說,嵌入式 Linux操作系統(tǒng)具有以下主要特性:
1 )內(nèi)核可裁剪,多任務(wù)支持、多用戶支持,性能高、穩(wěn)定性好。
2 )開放的源代碼,豐富的軟件資源,廣泛軟件開發(fā)者的支持,價格低廉。
3)良好的可移植性??梢浦残允侵笇⒉僮飨到y(tǒng)從一個平臺轉(zhuǎn)移到另一個平臺使它仍然能按其自身的方式運行的能力。Linux是一種可移植的操作系統(tǒng),為運行 Linux的不同計算機(jī)平臺與其他任何機(jī)器進(jìn)行準(zhǔn)確有效的通信提供了手段,不需要另外增加特殊的通信接口。
4)可以運行在許多硬件平臺上。目前 Linux已經(jīng)可以在數(shù)十種 32位和 64位芯片中運行,他們包括 Intel X86、Intel XScale、ARM、PowerPC、MIPS、ALPHA、SPARC等。而且能支持對稱多處理器(SMP)的機(jī)器。
5)不僅可以運行許多自由發(fā)布的應(yīng)用軟件,還可以運行許多商品化的應(yīng)用軟件。目前有越來越多的應(yīng)用程序廠商支持 Linux,而且通過各種仿真軟件, Linux系統(tǒng)還可以運行許多其他操作系統(tǒng)的應(yīng)用軟件,如 Windows等。
6)可靠的系統(tǒng)安全。 Linux采取了許多安全技術(shù)措施,包括對讀、寫進(jìn)行權(quán)限控制、帶保護(hù)的子系統(tǒng)、審計跟蹤、核心授權(quán)等,這為網(wǎng)絡(luò)多用戶環(huán)境中的用戶提供了必要的安全保障。
7)強大的網(wǎng)絡(luò)功能。 Linux誕生、成長于網(wǎng)絡(luò),自身的網(wǎng)絡(luò)功能相當(dāng)強大,具有內(nèi)置的 TCP/IP協(xié)議棧,可以提供 FTP、PPP、Telnet、WWW等服務(wù);同時還可以通過應(yīng)用程序向其他系統(tǒng)提供服務(wù),例如向其他 Windows用戶提供類似于網(wǎng)絡(luò)鄰居的 Samba文件服務(wù)。
8)常用嵌入式芯片的驅(qū)動集,支持大量的周邊硬件設(shè)備,驅(qū)動豐富。
9)針對嵌入式的存儲方案,提供實時版本如 RT Linux和完善的嵌入式解決方案。完善的中文支持,強大的技術(shù)支持,完整的文檔。 3三種嵌入式操作系統(tǒng)的比較
Linux與嵌入式 VxWorks的比較
VxWorks作為嵌入式實時操作系統(tǒng),其在通信、國防和工業(yè)上的應(yīng)用有著很大的優(yōu)勢,但是其昂貴的費用也一定程度上使用戶望而卻步。我們從下面六個方面對 Linux和 VxWorks進(jìn)行比較。
1)實時性
VxWorks實時性在三種操作系統(tǒng)中是最強的,Linux的實時性需要改進(jìn),可用 RT-Linux及 RTAI等模塊彌補。
2)內(nèi)核大小VxWorks內(nèi)核最小為 8kB,即便加上其它必要模塊,所占用的空間也很小,Linux核心從幾十 KB到500KB。整個嵌入式環(huán)境最小才 100KB左右,并且以后還將越來越小。
1 )購買費用 Linux是免費的,可以從網(wǎng)上下載內(nèi)核,而VxWorks必須購買,且價格不菲。
2 )技術(shù)支持
Linux有全世界的自由軟件開發(fā)者提供支持,而 VxWorks由開發(fā)商一家提供有限的技術(shù)支持。
5)應(yīng)用軟件移植
Linux比較容易,代碼開放,有許多應(yīng)用軟件支持,而 VxWorks因為許多是封閉系統(tǒng),所以應(yīng)用軟件移植方面較差。
6)應(yīng)用領(lǐng)域
由于 Linux內(nèi)核結(jié)構(gòu)及功能等原因,嵌入式Linux 應(yīng)用領(lǐng)域非常廣泛,特別適于進(jìn)行信息家電的開發(fā),VxWorks作為嵌入式實時操作系統(tǒng),其在通信、國防和工業(yè)上的應(yīng)用有著很大的優(yōu)勢。
Linux與嵌入式 Wince的比較 Linux與 Wince在實際的嵌入式系統(tǒng)應(yīng)用上有各自的優(yōu)勢,下面從九個方面對它們進(jìn)行比較:
1)開源方面
Linux是開放源代碼的,不在存黑箱技術(shù),遍布全球的眾多 Linux愛好者都是 Linux開發(fā)者的強大技術(shù)支持者,Linux的源代碼隨處可得,注釋豐富,文檔齊全,易于解決各種問題;而 Windows CE是非開放性O(shè)S,使第三方很難實現(xiàn)產(chǎn)品定制。
2)內(nèi)核大小
Linux的內(nèi)核小、效率高;而 Windows CE在這方面是笨拙的,占用過多的RAM,應(yīng)用程序龐大。
3)費用方面
Linux是開放源代碼的OS,在價格上極具競爭力,適合中國國情。Windows CE的版權(quán)費用是廠家不得不考慮的因素。
4)支持平臺
Linux不僅支持 x86芯片,還是一個跨平臺的系統(tǒng)。到目前為止,它可以支持20~30種CPU。
5)網(wǎng)絡(luò)功能
Linux內(nèi)核的結(jié)構(gòu)在網(wǎng)絡(luò)方面是非常完整的,它提供了對包括十兆位、百兆位及千兆位的以太網(wǎng)絡(luò),還有無線網(wǎng)絡(luò)、Token ring(令牌環(huán))和光纖甚至衛(wèi)星的支持。
6)可裁剪性
Linux在內(nèi)核結(jié)構(gòu)的設(shè)計中考慮適應(yīng)系統(tǒng)的可裁減性的要求,Windows CE在內(nèi)核結(jié)構(gòu)的設(shè)計中并未考慮適應(yīng)系統(tǒng)的高度可裁減性的要求。
1 )開發(fā)難度 Linux開發(fā)難度較高,需要很高的技術(shù)實力。
2 )調(diào)試工具 Linux調(diào)試工具不全,調(diào)試不太方便,尚沒有很好的用戶圖形界面。
3 )占用內(nèi)存
嵌入式 Linux占用較大的內(nèi)存,當(dāng)然,人們可以去掉部分無用的功能來減小使用的內(nèi)存,但是如果不仔細(xì),將引起新的問題。
4 結(jié)論
隨著嵌入式系統(tǒng)應(yīng)用的持續(xù)升溫,嵌入式操作系統(tǒng)得到了蓬勃發(fā)展,Linux、Wince、VxWorks這三種嵌入式操作系統(tǒng)也憑借著自身的特點,不同的用途在嵌入式市場上各顯神通。在中國,嵌入式操作系統(tǒng)可分為兩大類型:一類是自主版權(quán)的操作系統(tǒng),如“女媧Hopen”、桑夏2000、DeltaOS操作系統(tǒng)等,另一類是基于 Linux的操作系統(tǒng)。近年來,嵌入式 Linux在中國發(fā)展很快,其中,中軟Linux、紅旗Linux、東方 Linux是業(yè)界的代表。如今嵌入式操作系統(tǒng)尚未形成統(tǒng)一的國際標(biāo)準(zhǔn),而 Linux憑借著源代碼的開放性,眾多的技術(shù)支持,低廉的價格等一系列特征為我們開發(fā)國產(chǎn)的嵌入式操作系統(tǒng)提供了方便,因此,我國本土的操作系統(tǒng)也有機(jī)會在這個未成熟的市場上與國外抗衡,占領(lǐng)越來越多的市場份額。
本文創(chuàng)新點:本文研究的是基于世界目前上三種通用的嵌入式操作系統(tǒng),關(guān)于它們各自的特點以及應(yīng)用的場合在國內(nèi)國外的研究已經(jīng)非常成熟,但是將三種系統(tǒng)進(jìn)行比較從而使人更好地對嵌入式操作系統(tǒng)的選擇有個清晰的了解則很少人對此進(jìn)行研究,本文正是基于這點不足而進(jìn)行的。
評論
查看更多