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