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