Linux、Android、uCOS、uCLinux、VxWorks、WinCE等系統比較

知識經驗 11009瀏覽 3評論

0fafce0c5ec38396dee715e5a2ba7840嵌入式系統是以嵌入式計算機為技術核心,面向用戶、面向產品、面向應用,軟硬件可裁減的,適用于對功能、可靠性、成本、體積、功耗等綜合性能有嚴格要求的專用計算機系統。 學習和使用嵌入式操作系統(OS)的時候,難免會在選擇何種系統上猶豫不決。因為選擇好系統后,要重新更換成本非常高,而且對于學習者來說,選擇一個用戶量大的嵌入式操作系統,不僅可以獲得快捷的技術文檔,而且還能找到好的工作。以下對一些常用的嵌入式操作系統進行區別比較。

Linux

Linux是一個類似于Unix的操作系統。它起源于芬蘭一個名為Linus Torvalds的業余愛好,但是現在已經是最為流行的一款開放源代碼的操作系統。Linux從1991年問世到現在,短短10年的時間內已發展成為一個功能強大、設計完善的操作系統,伴隨網絡技術進步而發展起來的Linux OS已成為Microsoft公司的DOS和Windows 95/98的強勁對手。
Linux系統不僅能夠運行于PC平臺,還在嵌入式系統方面大放光芒,在各種嵌入式Linux OS迅速發展的狀況下,Linux OS逐漸形成了可與Windows CE等OS進行抗衡的局面。目前正在開發的嵌入式系統中,49%的項目選擇Linux作為嵌入式操作系統。Linux現已成為嵌入式操作的理想選擇。

Android

e84e30b9390cdb64db6db2c9ab87846dAndroid是一種基于Linux的自由及開放源代碼的操作系統,主要使用于移動設備,如智能手機和平板電腦,由Google公司和開放手機聯盟領導及開發。尚未有統一中文名稱,中國大陸地區較多人使用“安卓”或“安致”。
Android操作系統最初由Andy Rubin開發,主要支持手機。2005年8月由Google收購注資。2007年11月,Google與84家硬件制造商、軟件開發商及電信營運商組建開放手機聯盟共同研發改良Android系統。隨后Google以Apache開源許可證的授權方式,發布了Android的源代碼。
第一部Android智能手機發布于2008年10月。Android逐漸擴展到平板電腦及其他領域上,如電視、數碼相機、游戲機等。2011年第一季度,Android在全球的市場份額首次超過塞班系統,躍居全球第一。 2013年的第四季度,Android平臺手機的全球市場份額已經達到78.1%。2013年09月24日谷歌開發的操作系統Android在迎來了5歲生日,全世界采用這款系統的設備數量已經達到10億臺。

iOS

4b3bdf6b4694f09ff2db29ca4f3b57e7iOS是由蘋果公司開發的移動操作系統。蘋果公司最早于2007年1月9日的Macworld大會上公布這個系統,最初是設計給iPhone使用的,后來陸續套用到iPod touch、iPad以及Apple TV等產品上。
iOS與蘋果的Mac OS X操作系統一樣,它也是以Darwin為基礎的,因此同樣屬于類Unix的商業操作系統。原本這個系統名為iPhone OS,因為iPad,iPhone,iPod touch都使用iPhone OS,所以2010WWDC大會上宣布改名為iOS(iOS為美國Cisco公司網絡設備操作系統注冊商標,蘋果改名已獲得Cisco公司授權)。

WinCE

Windows CE是微軟開發的一個開放的、可升級的32位嵌入式操作系統,是基于掌上型電腦類的電子設備操作。最早是精簡的Windows 95。Windows CE的圖形用戶界面相當出色。其中CE中的C代表袖珍(Compact)、消費(Consumer)、通信能力(Connectivity)和伴侶(Companion);E代表電子產品(Electronics)。與Windows 95/98、Windows NT不同的是,Windows CE是所有源代碼全部由微軟自行開發的嵌入式新型操作系統,其操作界面雖來源于Windows 95/98,但Windows CE是基于Win32 API重新開發的、新型的信息設備平臺。Windows CE具有模塊化、結構化和基于Win32應用程序接口以及與處理器無關等特點。Windows CE不僅繼承了傳統的Windows圖形界面,并且在Windows CE平臺上可以使用Windows 95/98上的編程工具(如Visual Basic、Visual C++、Visual Studio等)、使用同樣的函數、使用同樣的界面網格,使絕大多數的應用軟件只需簡單的修改和移植就可以在Windows CE平臺上繼續使用。
Windows CE的設計目標是:模塊化及可伸縮性、實時性能好,通信能力強大,支持多種CPU。它的設計可以滿足多種設備的需要,這些設備包括了工業控制器、通信集線器以及銷售終端之類的企業設備,還有像照相機、電話和家用娛樂器材之類的消費產品。一個典型的基于Windows CE的嵌入系統通常為某個特定用途而設計,并在不聯機的情況下工作。它要求所使用的操作系統體積較小,內建有對中斷的響應功能。

uC/OS

uC/OS II(Micro Control Operation System Two)是一個可以基于ROM運行的、可裁減的、搶占式、實時多任務內核,具有高度可移植性,特別適合于微處理器和控制器,是和很多商業操作系統性能相當的實時操作系統(RTOS)。為了提供最好的移植性能,uC/OS II最大程度上使用ANSI C語言進行開發,并且已經移植到近40多種處理器體系上,涵蓋了從8位到64位各種CPU(包括DSP)
uC/OS II可以簡單的視為一個多任務調度器,在這個任務調度器之上完善并添加了和多任務操作系統相關的系統服務,如信號量、郵箱等。其主要特點有公開源代碼,代碼結構清晰、明了,注釋詳盡,組織有條理,可移植性好,可裁剪,可固化。內核屬于搶占式,最多可以管理60個任務。從1992年開始,由于高度可靠性、移植性和安全性,uC/OS II已經廣泛使用在從照相機到航空電子產品的各種應用中。
μC/OS-II實時多任務操作系統內核被廣泛應用于微處理器、微控制器和數字信號處理器。 μC/OS-II 的前身是μC/OS,最早出自于1992 年美國嵌入式系統專家Jean J.Labrosse 在《嵌入式系統編程》雜志的5 月和6 月刊上刊登的文章連載,并把μC/OS 的源碼發布在該雜志的BBS 上。

uCLinux

4c5dc7c18d94d322d4dfbe819071404buCLinux表示Micro-Control Linux,即“微控制器領域中的Linux系統”,是Lineo公司的主打產品,同時也是開放源碼的嵌入式Linux的典范之作。uCLinux主要是針對目標處理器沒有存儲管理單元MMU(Memory Management Unit)的嵌入式系統而設計的。它已經被成功地移植到了很多平臺上。由于沒有MMU,其多任務的實現需要一定技巧。
uClinux從Linux 2.0/2.4內核派生而來,沿襲了Linux的絕大部分特性。它通常用于具有很少內存或Flash的嵌入式操作系統。在GNU通用許可證的保證下,運行uClinux操作系統的用戶可以使用幾乎所有的Linux API函數。由于經過了裁剪和優化,它形成了一個高度優化,代碼緊湊的嵌入式Linux。
它具有體積小、穩定、良好的移植性、優秀的網絡功能、完備的對各種文件系統的支持,以及豐富的API函數等優點。uClinux與Linux在兼容性方面表現出色,uClinux除了不能實現fork()外,其余uClinux的API函數與標準Linux完全相同。

VxWorks

3318cda0ba88a879f352d865ccb0c692VxWorks 操作系統是美國WindRiver公司于1983年設計開發的一種嵌入式實時操作系統(RTOS),是嵌入式開發環境的關鍵組成部分。VxWorks憑借良好的持續發展能力、高性能的內核以及友好的用戶開發環境,在嵌入式實時操作系統領域占據一席之地。
VxWorks?以其良好的可靠性和卓越的實時性被廣泛地應用在通信、軍事、航空、航天等高精尖技術及實時性要求極高的領域中,如衛星通訊、軍事演習、彈道制導、飛機導航等。在美國的?F-16、FA-18戰斗機、B-2?隱形轟炸機和愛國者導彈上,甚至連1997年4月在火星表面登陸的火星探測器、2008年5月登陸的鳳凰號,和2012年8月登陸的好奇號也都使用到了VxWorks上。
VxWorks實時操作系統 由400多個相對獨立、短小精悍的目標模塊組成,用戶可根據需要選擇適當的模塊來裁剪和配置系統;提供基于優先級的任務調度、任務間同步與通信、中斷處 理、定時器和內存管理等功能,內建符合POSIX(可移植操作系統接口)規范的內存管理,以及多處理器控制程序;并且具有簡明易懂的用戶接口,在核心方面甚至町以微縮到8 KB。

eCos

eCos(embedded Configurable operating system),中文翻譯為嵌入式可配置操作系統嵌入式可配置實時操作系統。適合于深度嵌入式應用,主要應用對象包括消費電子、電信、車載設備、手持設備以及其他一些低成本和便攜式應用。eCos是一種開放源代碼軟件,無需支付任何版稅。
eCos最為顯著的特點是它的可配置性,它的主要技術創新是其功能強大的組件管理和配置系統,可以在源碼級實現對系統的配置和裁剪。此外,eCos可以通過安裝第三方組件包擴展系統功能。
eCos能滿足嵌入式Linux難以滿足的對嵌入空間的需求,Linux內核最小約500KB,占用1.5MB內存,而eCos只占用幾十到幾百KB。eCos使用了多任務搶占機制,具有最小的中斷延時,支持嵌入式所需的所有同步原語,并擁有靈活的調度策略和中斷處理機制。
eCos所提供的支持還包括開發嵌入式應用所需的所有工具,如eCos配置工具、基于GNU的編譯器、匯編器、連接器、調試器和模擬器。
eCos核心組件包括硬件抽象層(HAL)、內核、標準C和數據庫、設備驅動程序、文件系統、TCP/IP協議棧、圖形系統、GDB調試支持等。

RTlinux

RTLinux(AReal-Time Linux,亦稱作實時Linux)是Linux中的一種實時操作系統。它由新墨西哥礦業及科技學院的V. Yodaiken開發。目前,RTLinux有一個由社區支持的免費版本,稱為RTLinux Free,以及一個來自FSMLabs的商業版本,稱作RTLinux Pro
RTLinux利用Linux開發的面向實時和嵌入式應用的操作系統。在RTLinux宣言中,這樣描述RTLinux : rtlinux is the hard realtime variant of linux that makes it possible to control robots, data acquisition systems, manufacturing plants, and other time-sensitive instruments and machines
RTLinux開發者并沒有針對實時操作系統的特性而重寫Linux的內核,因為這樣做的工作量非常大,而且要保證兼容性也非常困難。RTLinux將linux的內核代碼做一些修改,將Linux本身的任務以及Linux內核本身作為一個優先級很低的任務,而實時任務作為優先級最高的任務。即在實時任務存在的情況下運行實時任務,否則才運行linux本身的任務。RT-Linux能夠創建精確運行的符合POSIX.1b標準的實時進程,并且作為一種遵循GPL v2協議的開放軟件,可以達GPL v2協議許可范圍內自由地、免費地使用、修改和再發生。
到目前為止,RT-Linux已經成功地應用于航天飛機的空間數據采集、科學儀器測控和電影特技圖像處理等廣泛領域,在電信、工業自動化和航空航天等實時領域也有成熟應用。

Linux與WinCE的比較

嵌入式Linux與WinCE相比的優點:
  1. Linux是開放源代碼的,不在存黑箱技術,遍布全球的眾多Linux愛好者都是Linux開發者的強大技術支持者;而Windows CE是非開放性OS,使第三方很難實現產品定制。
  2. Linux的源代碼隨處可得,注釋豐富,文檔齊全,易于解決各種問題。
  3. Linux的內核小、效率高;而Windows CE在這方面是笨拙的,占用過多的RAM,應用程序龐大。
  4. Linux是開放源代碼的OS,在價格上極具競爭力,適合中國國情。Windows CE的版權費用是廠家不得不考慮的因素。
  5. Linux不僅支持x86芯片,還是一個跨平臺的系統。到目前為止,它可以支持20~30種CPU,很多CPU(包括家電業的芯片)廠商都開始做Linux的平臺移植工作,而且移植的速度遠遠超過Java的開發環境。如果今天采用Linux環境開發產品,那么將來更換CPU時就不會遇到更換平臺的困擾。
  6. Linux內核的結構在網絡方面是非常完整的,它提供了對包括十兆位、百兆位及千兆位的以太網絡,還有無線網絡、Token ring(令牌環)和光纖甚至衛星的支持。
  7. Linux在內核結構的設計中考慮適應系統的可裁減性的要求,Windows CE在內核結構的設計中并未考慮適應系統的高度可裁減性的要求。
嵌入式Linux與WinCE相比的弱點:
  1. 是開發難度較高,需要很高的技術實力;
  2. 是核心調試工具不全,調試不太方便,尚沒有很好的用戶圖形界面;
  3. 與某些商業OS一樣,嵌入式Linux占用較大的內存,當然,人們可以去掉部分無用的功能來減小使用的內存,但是如果不仔細,將引起新的問題;
  4. 有些Linux的應用程序需要虛擬內存,而嵌入式系統中并沒有或不需要虛擬內存,所以并非所有的Linux應用程序都可以在嵌入式系統中運行。

結語

998d4e9bd5f0f76fb1e517fa1f3216b7還有μTenux、RT-thread、FreeRTOS、RTX、Arm-Linux、RTEMS、pSOS、Nucleus、Windows XP Embedded、Windows Vista Embedded、QNX、Lynx、Symbian、HOPEN OS、Maemo、Meego,以及ARM剛推出的免費開源物聯網操作系統mbed os等嵌入式操作系統,可自行到網上了解。
其中,目前嵌入式使用較多的Windows CE和Linux嵌入式操作系統各有不同的特點,不同的用途。但Linux比Windows CE更小、更穩定,而且Linux是開放的OS,在價格上極具競爭力。如今整個市場尚未成型,嵌入式操作系統也未形成統一的國際標準,而且Linux的一系列特征又為我們開發國產的嵌入式操作系統提供了方便。因此,我們有機會在這個未成熟的市場上占有一席之地。
發表我的評論
取消評論

表情

Hi,您需要填寫昵稱和郵箱!

  • 昵稱 (必填)
  • 郵箱 (必填)
  • 網址

網友最新評論 (3)

  1. 對我感興趣的嵌入式os都介紹了一遍,謝謝樓主了~另外,你網站不錯,呵呵
    河馬 5年前 (2014-10-17) 回復 編輯
  2. iOS算不算嵌入式操作系統呢?
    清風 5年前 (2014-10-17) 回復 編輯
    • 其實現在A4和A5處理器都是基于ARM內核的
      guage 5年前 (2014-10-18) 回復 編輯
七星彩走势图2元网官网