三種經常使用的嵌入式操做系統——Palm OS、Windows CE、Linux;在此基礎上、分析、比較這三種嵌入式操做系統,給出它們之間的異同點及各自的適用範圍。linux
1 嵌入式系統與嵌入式操做系統數據庫
1.1 嵌入式系統編程
嵌入式系統是以嵌入式計算機爲技術核心,面向用戶、面向產品、面向應用,軟硬件可裁減的,適用於對功能、可靠性、成本、體積、功耗等綜合性能有嚴格要求的專用計算機系統。網絡
嵌入式系統應具備的特色是:高可靠性;在惡劣的環境或忽然斷電的狀況下,系統仍然可以正常 工做;許多嵌入式應用要求實時性,這就要求嵌入式操做系統具備實時處理能力 ;嵌入式系統和具體應用有機地結合在一塊兒,它的升級換代也是具體產品同步進行;嵌入式系統中的軟件代碼要求高質量、高可靠性,通常都固化在只讀存儲器中或 閃存中,也就是說軟件要求固態化存儲,而不是存儲在磁盤等載體中。模塊化
1.2 嵌入式操做系統函數
嵌入式操做系統EOS(Embedded Operating System)是一種用途普遍的系統軟件,過去它主要應用於工業控制和國防系統領域。EOS負責嵌入系統的所有軟、硬件資源的分配、調度做,控制、協調並 發活動;它必須體現其所在系統的特徵,可以經過裝卸某些模塊來達到系統所要求的功能。目前,已推出一些應用比較成功的EOS產品系列。隨着 Internet技術的發展、信息家電的普及應用及EOS的微型化和專業化,EOS開始從單一的弱功能向高專業化的強功能方向發展。嵌入式操做系統在系統 實時高效性、硬件的相關依賴性、軟件固化以及應用的專用性等方面具備較爲突出的特色。EOS是相對於通常操做系統而方的,它除具有了通常操做系統最基本的 功能,如任務調度、同步機制、中斷處理、文件處理等外,還有如下特色:工具
① 可裝卸性。開放性、可伸縮性的體系結構。性能
② 強實時性。EOS實時性通常較強,可用於各類設備控制當中。編碼
③ 統一的接口。提供各類設備驅動接口。操作系統
④ 操做方便、簡單、提供友好的圖形GUI,圖形界面,追求易學易用。
⑤ 提供強大的網絡功能,支持TCP/IP協議及其它協議,提供TCP/UDP/IP/PPP協議支持及統一的MAC訪問層接口,爲各類移動計算設備預留接口信盈達嵌入式物聯網智能硬件企鵝要妖氣嗚嗚吧久零就要。
⑥ 強穩定性,弱交互性。嵌入式系統一旦開始運行就不須要用戶過多的干預,這就要負責系統管理的EOS具備較強的穩定性。嵌入式操做系統的用戶接口通常不提供操做命令,它經過系統的調用命令向用戶程序提供服務。
⑦ 固化代碼。在嵌入式系統中,嵌入式操做系統和應用軟件被固化在嵌入式系統計算機的ROM中。輔助存儲器在嵌入式系統中不多使用,所以,嵌入式操做系統的文件管理功能應該可以很容易地拆卸,而用各類內存文件系統。⑧更好的硬件適應性,也就是良好的移植性。
國際上用於信息電器的嵌入式操做系統有40種左右。如今,市場上很是流行的EOS產品,包 括3Com公司下屬子公司的Palm OS,全球佔有份額達50%,Microsoft公司的Windows CE不過29%。在美國市場,Palm OS更以80%的佔有率遠超Windows CE。開放源代碼的Linux很適於作信息家電的開發。好比:中科紅旗軟件技術有限公司開發的紅旗嵌入式Linux和美商網虎公司開發的基於Xlinux 的嵌入式操做系統「夸克」。「夸克」是目前全世界最小的Linux,它有兩具很突出的特色,就是體積小和使用GCS編碼。
2 三種經常使用的嵌入式操做系統
2.1 Palm OS
Palm是3Com公司的產品,其操做系統爲Palm OS。Palm OS是一種32位的嵌入式操做系統。Palm提供了串行通訊接口和紅外線傳輸接口,利用它能夠方便地與其它外部設備通訊、傳輸數據;擁有開放的OS應用程 序接口,開發商可根據須要自行開發所需的應用程序。Palm OS是一套具備術強開放性的系統,如今有大約數千種專用爲Palm OS編寫的應用程序,從程序內容上看,小到我的管理、遊戲,大到行業解決方案,Palm OS無所不包。在豐富的軟件支持下,基於Palm OS的掌上電腦功能得以不斷擴展。
Palm OS是一套專門爲掌上電腦開發的OS。在編寫程序時,Palm OS充分考慮了掌上電腦內存相對較小的狀況,所以它只佔有很是小的內存。因爲基於Palm OS編寫的應用程序佔用的空間也很是小(一般只有幾十KB),因此,基於Palm OS的掌上電腦(雖然只有幾MB的RAM)能夠運行衆多應用程序。
因爲Palm產品的最大特色是使用簡便、機體輕巧,所以決定了Palm OS應具備如下特色。
一、操做系統的節能功能。由上掌上電腦要求使用電源儘量小,所以在Palm OS的應用程序中,若是沒有事件運行,則系統設備進入半休眠(doze)的狀態;若是應用程序中止活動一段時間,則系統自動進入休眠(sleep)狀態。
二、合理的內存管理。Palm的存儲器所有是可讀寫的快速RAM,動態 RAM(Dynamic RAM)相似於PC機上的RAM,它爲全局變量和其它不需永久保存的數據提供臨時的存儲空間;存儲RAM(Storage RAM)相似於PC機上的硬盤,能夠永久保存應用程序和數據。
三、Palm OS的數據是以數據庫(database)的格式來存儲的。數據庫是由一組記錄(records)和一些數據庫頭信息組成的。爲保證程序處理速度和存儲器 空間,在處理數據的時候,Palm OS不是把數據從存儲堆(Storage Heap)拷貝到動態堆(Dynamic Heap)後再進行處理,而是在存儲堆中直接處理。爲避免錯誤地調用存儲器地址,Palm OS規定,這一切都必須調用其內存管理器裏的API來實現。
四、Palm OS與同步軟件(HotSync)結合可使掌上電腦與PC機上的信息實現同步,把臺式同的功能擴展到了掌上電腦。Palm應用範圍至關普遍,如:聯絡及 工做表管理、電子郵件及互聯網通訊、銷售人員及組別自動化等等。Palm外圍硬件也十分豐富,有數碼相機、GPS接收器、調制解調器、GSM無線電話、數 碼音頻播放設備、便攜鍵盤、語音記錄器、條碼掃描、無線尋呼接收器、探測儀。其中Palm與GPS結合的應用,不但能夠做導航定位,還能夠結合GPS做氣 候的監測、地名調查等。
2.2 Windows CE
Windows CE是微軟開發的一個開放的、可升級的32位嵌入式操做系統,是基於掌上型電腦類的電子設備操做。它是精簡的Windows 95。Windows CE的圖形用戶界面至關出色。其中CE中的C表明袖珍(Compact)、消費(Consumer)、通訊能力(Connectivity)和伴侶 (Companion);E表明電子產品(Electronics)。與Windows 95/9八、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++等)、使用一樣的函數、使用一樣的界面網格,使絕大多數的應用軟件只需簡單的修改和移植就能夠在Windows CE平臺上繼續使用。
Windows CE的設計目標是:模塊化及可伸縮性、實時性能好,通訊能力強大,支持多種CPU。它的設計能夠知足多種設備的須要,這些設備包括了工業控制器、通訊集線 器以及銷售終端之類的企業設備,還有像照相機、電話和家用娛樂器材之類的消費產品。一個典型的基於Windows CE的嵌入系統一般爲某個特定用途而設計,並在不聯機的狀況下工做。它要求所使用的操做系統體積較小,內建有對中斷的響應功能。
Windows CE的特色有:
① 具備靈活的電源管理功能,包括瞬眠/喚醒模式。
② 使用了對象存儲(object store)技術,包括文件系統、註冊表及數據庫。它還具備不少高性能、高效率的操做系統特 性,包括按需換頁、共享存儲、交叉處理同步、支持大容量堆(heap)等。
③ 擁有良好的通訊能力。普遍支持各類通訊硬件,亦支持直接的局域鏈接以及撥號鏈接,並提供與PC、內部網以及Internet的鏈接,還提供與Windows 9x/NT的最佳集成和通訊。
④ 支持嵌套中斷。容許更高優先級別的中斷首先獲得響應,而不是等待低級別的ISR完成。這使得該操做系統具備嵌入式操做系統所要求的實時性。
⑤ 更好的線程響應能力。對高級別IST(中斷服務線程)的響應時間上限的要求更加嚴格,在線程響應能力方面的改進,幫助開發人員掌握線程轉換的具體時間,並經過加強的監控能力和對硬件的控制能力幫助他們建立新的嵌入式應用程序。
⑥ 256個優先級別。可使開發人員在控制嵌入式系統的時序安排方面有更大的靈活性。
⑦ Windows CE的API是Win32 API的一個子集,支持近1500個Win32 API。有了這些API,足能夠編寫任何複雜的應用程序。固然,在Windows CE系統中,所提供的API也能夠隨具體應用的需求而定。
在掌上型電腦中,Windows CE包含以下一些重要組件:Pocket Outlook及其組件、語音錄音機、移動頻道、遠程撥號訪問、世界時鐘、計算器、多種輸入法、GBK字符集、中文TTF字庫、英漢雙向詞典、袖珍瀏覽 器、電子郵件、Pocket Office、系統設置、Windows CE Services軟件。