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