- 從實踐中學嵌入式Linux操作系統
- 華清遠見嵌入式學院 曹忠明 程姚根編著
- 1998字
- 2018-12-27 02:31:58
1.3 嵌入式操作系統
嵌入式操作系統的一個重要特性是實時性。所謂實時性,就是在確定的時間范圍內響應某個事件的特性。操作系統的實時性在某些領域是至關重要的,如工業控制、航空航天等領域。想象飛機正在空中飛行,如果嵌入式系統不能及時響應飛行員的控制指令,那么極有可能導致空難事故。有些嵌入式系統應用并不需要絕對的實時性,如PDA播放音樂,個別音頻數據丟失并不影響效果。這可以使用軟實時的概念來衡量。
據調查,目前全世界的嵌入式操作系統已經有兩百多種。從20世紀80年代開始,出現了一些商用嵌入式操作系統,它們大部分是為專有系統而開發的。隨著嵌入式領域的發展,各種各樣的嵌入式操作系統相繼問世,有許多商業的嵌入式操作系統,也有大量開放源代碼的嵌入式操作系統,其中著名的嵌入式操作系統有:μC/OS、VxWorks、Neculeus、Linux和Windows CE等。下面介紹一些主流的嵌入式操作系統。
1.Linux
Linux操作系統是UNIX操作系統的一種克隆系統。它誕生于1991年的10月5日(這是第一次正式向外公布的時間)。以后借助于Internet網,并經過全世界各地計算機愛好者的共同努力下,現已成為今天世界上使用最多的一種UNIX類操作系統,并且使用人數還在迅猛增長。如圖1.1所示是業內人士對國內Linux軟件市場的預測。

圖1.1 2004~2008年國內Linux軟件市場總量預測
根據IDC的報告,Linux已經成為全球第二大操作系統。預計在服務器市場上,Linux在未來幾年內將以每年25%的速度增長,中國的Linux市場更是保持40%左右的增長速度。而在Linux操作系統方面,IDC對中國在2001~2006年的市場預測發現,其市場占有率從2001年的4.47%平穩地上升到2006年的26.77%。
嵌入式Linux版本還有多種變體,如RTLinux通過改造內核實現了實時的Linux;RTAI、Kurt和Linux/RK也提供了實時能力;μCLinux去掉了Linux的MMU(內存管理單元),能夠支持沒有MMU的處理器等。
2.μC/OS
μC/OS是一個典型的實時操作系統,該系統從1992年開始發展,目前流行的是第2個版本,即μC/OS-II。它的特點是:公開源代碼,代碼結構清晰,注釋詳盡,組織有條理,可移植性好;可裁剪,可固化;搶占式內核,最多可以管理60個任務。自從清華大學邵貝貝教授將Jean J. Labrosse的“μC/OS-Ⅱ:the Real Time Kernel”翻譯后,在國內掀起了μC/OS-II的熱潮,特別是在教育研究領域。該系統短小精悍,是研究和學習實時操作系統的首選。
3.Windows CE
Windows CE是微軟的產品,它是從整體上為有限資源的平臺設計的多線程、完整優先權、多任務的操作系統。Windows CE采用模塊化設計,并允許它對于從掌上電腦到專用的工控電子設備進行定制。操作系統的基本內核需要至少200KB的ROM。從SEGA的DreamCast游戲機到現在大部分的高價掌上電腦都采用了Windows CE。
隨著嵌入式操作系統領域的競爭日益激烈,微軟不得不應付來自Linux等免費系統的沖擊。微軟在Windows CE.Net 4.2版中,將增加一項授權價僅3美元的精簡版本WinCE.Net Core。WinCE.Net Core具有基本的功能,包括實時OS核心(Real Time OS Kernel)、檔案系統;IPv4、IPv6、WLAN、藍牙等聯網功能;Windows Media Codec;.Net開發框架及SQL Server.ce。微軟推出低價版本WinCE.Net,主要是看好語音電話、WLAN的無線橋接器和個性化視聽設備的市場潛力。
4.VxWorks
VxWorks是WindRiver公司專門為實時嵌入式系統設計開發的操作系統軟件,為程序員提供了高效的實時任務調度、中斷管理,實時的系統資源及實時的任務間通信。應用程序員可以將盡可能多的精力放在應用程序本身,而不必再去關心系統資源的管理。該系統主要應用在單板機、數據網絡(以太網交換機、路由器)和通信等多方面。其核心功能主要有以下幾方面:
- 微內核wind。
- 任務間通信機制。
- 網絡支持。
- 文件系統和I/O管理。
- POSIX標準實時擴展。
- C++及其他標準支持。
這些核心功能可以與WindRiver系統的其他附件和Tornado合作伙伴的產品結合在一起使用。誰都不能否認這是一個非常優秀的實時系統,但其昂貴的價格使不少廠商望而卻步。
5.QNX
QNX是一款實時操作系統,由加拿大QNX軟件系統有限公司開發,廣泛應用于自動化控制、機器人科學、電信、數據通信、航空航天、計算機網絡系統、醫療儀器設備、交通運輸、安全防衛系統、POS機、零售機等任務關鍵型應用領域。20世紀90年代后期,QNX系統在高速增長的因特網終端設備、信息家電及掌上電腦等領域也得到了廣泛應用。
QNX的體系結構決定了它具有非常好的伸縮性,用戶可以把應用程序代碼和QNX內核直接編譯在一起,使之為簡單的嵌入式應用生成一個單一的多線程映像。它也是世界上第一個遵循POSIX 1003.1標準從零設計的微內核,因此具有非常好的可移植性。
嵌入式操作系統的選擇是前期設計過程的一項重要工作,這將影響到工程后期的發布及軟件的維護。不管選用什么樣的系統,首先應該考慮操作系統對硬件的支持,如果選擇的系統不支持將來要使用的硬件平臺,那么這個系統是不合適的;其次要考慮的是開發調試用的工具,特別是對于開銷敏感和技術水平不強的企業來說,開發工具往往在開發過程中起決定性作用;最后要考慮的問題是,該系統能否滿足應用需求。如果一個操作系統提供出來的API很少,那么無論這個系統有多么穩定,應用層也很難進行二次開發,這顯然也不是開發人員希望看到的。由此可見,選擇一款既能滿足應用需求、性價比又可達到最佳的實時操作系統,對開發工作的順利開展意義非常重大。
- 圖形圖像處理(Photoshop)
- Julia 1.0 Programming
- Multimedia Programming with Pure Data
- Splunk Operational Intelligence Cookbook
- 樂高機器人—槍械武器庫
- 項目管理成功利器Project 2007全程解析
- Mastering Game Development with Unreal Engine 4(Second Edition)
- 精通數據科學:從線性回歸到深度學習
- 多媒體制作與應用
- 工業自動化技術實訓指導
- 云計算和大數據的應用
- Windows安全指南
- Web編程基礎
- 基于Proteus的PIC單片機C語言程序設計與仿真
- Data Analysis with R(Second Edition)