三種嵌入式操作系統的深入分析與比較
1.1 嵌入式系統
嵌入式系統是以嵌入式計算機為技術(shù)核心,面向用戶(hù)、面向產(chǎn)品、面向應用,軟硬件可裁減的,適用于對功能、可靠性、成本、體積、功耗等綜合性能有嚴格要求的專(zhuān)用計算機系統。
嵌入式系統應具有的特點(diǎn)是:高可靠性;在惡劣的環(huán)境或突然斷電的情況下,系統仍然能夠正常工作;許多嵌入式應用要求實(shí)時(shí)性,這就要求嵌入式操作系統具有實(shí)時(shí)處理能力;嵌入式系統和具體應用有機地結合在一起,它的升級換代也是具體產(chǎn)品同步進(jìn)行;嵌入式系統中的軟件代碼要求高質(zhì)量、高可靠性,一般都固化在只讀存儲器中或閃存中,也就是說(shuō)軟件要求固態(tài)化存儲,而不是存儲在磁盤(pán)等載體中。
1.2 嵌入式操作系統
嵌入式操作系統EOS(Embedded Operating System)是一種用途廣泛的系統軟件,過(guò)去它主要應用于工業(yè)控制和國防系統領(lǐng)域。EOS負責嵌入系統的全部軟、硬件資源的分配、調度作,控制、協(xié)調并發(fā)活動(dòng);它必須體現其所在系統的特征,能夠通過(guò)裝卸某些模塊來(lái)達到系統所要求的功能。目前,已推出一些應用比較成功的EOS產(chǎn)品系列。隨著(zhù) Internet技術(shù)的發(fā)展、信息家電的普及應用及EOS的微型化和專(zhuān)業(yè)化,EOS開(kāi)始從單一的弱功能向高專(zhuān)業(yè)化的強功能方向發(fā)展。嵌入式操作系統在系統實(shí)時(shí)高效性、硬件的相關(guān)依賴(lài)性、軟件固化以及應用的專(zhuān)用性等方面具有較為突出的特點(diǎn)。EOS是相對于一般操作系統而方的,它除具備了一般操作系統最基本的功能,如任務(wù)調度、同步機制、中斷處理、文件處理等外,還有以下特點(diǎn):
①可裝卸性。開(kāi)放性、可伸縮性的體系結構。
②強實(shí)時(shí)性。EOS實(shí)時(shí)性一般較強,可用于各種設備控制當中。
③統一的接口。提供各種設備驅動(dòng)接口。
④操作方便、簡(jiǎn)單、提供友好的圖形GUI,圖形界面,追求易學(xué)易用。
⑤提供強大的網(wǎng)絡(luò )功能,支持TCP/IP協(xié)議及其它協(xié)議,提供TCP/UDP/IP/PPP協(xié)議支持及統一的MAC訪(fǎng)問(wèn)層接口,為各種移動(dòng)計算設備預留接口。
⑥強穩定性,弱交互性。嵌入式系統一旦開(kāi)始運行就不需要用戶(hù)過(guò)多的干預,這就要負責系統管理的EOS具有較強的穩定性。嵌入式操作系統的用戶(hù)接口一般不提供操作命令,它通過(guò)系統的調用命令向用戶(hù)程序提供服務(wù)。
⑦固化代碼。在嵌入式系統中,嵌入式操作系統和應用軟件被固化在嵌入式系統計算機的ROM中。輔助存儲器在嵌入式系統中很少使用,因此,嵌入式操作系統的文件管理功能應該能夠很容易地拆卸,而用各種內存文件系統。
⑧更好的硬件適應性,也就是良好的移植性。
國際上用于信息電器的嵌入式操作系統有40種左右?,F在,市場(chǎng)上非常流行的EOS產(chǎn)品,包括3Com公司下屬子公司的palm OS,全球占有份額達50%,Microsoft公司的Windows CE不過(guò)29%。在美國市場(chǎng),Palm OS更以80%的占有率遠超Windows CE。開(kāi)放源代碼的Linux很適于做信息家電的開(kāi)發(fā)。比如:中科紅旗軟件技術(shù)有限公司開(kāi)發(fā)的紅旗嵌入式Linux和美商網(wǎng)虎公司開(kāi)發(fā)的基于Xlinux 的嵌入式操作系統“夸克”?!翱淇恕笔悄壳叭澜缱钚〉腖inux,它有兩具很突出的特點(diǎn),就是體積小和使用GCS編碼。
2、三種常用的嵌入式操作系統
2.1 palm OS
Palm是3Com公司的產(chǎn)品,其操作系統為Palm OS。Palm OS是一種32位的嵌入式操作系統。Palm提供了串行通信接口和紅外線(xiàn)傳輸接口,利用它可以方便地與其它外部設備通信、傳輸數據;擁有開(kāi)放的OS應用程序接口,開(kāi)發(fā)商可根據需要自行開(kāi)發(fā)所需的應用程序。Palm OS是一套具有術(shù)強開(kāi)放性的系統,現在有大約數千種專(zhuān)用為Palm OS編寫(xiě)的應用程序,從程序內容上看,小到個(gè)人管理、游戲,大到行業(yè)解決方案,Palm OS無(wú)所不包。在豐富的軟件支持下,基于Palm OS的掌上電腦功能得以不斷擴展。
Palm OS是一套專(zhuān)門(mén)為掌上電腦開(kāi)發(fā)的OS。在編寫(xiě)程序時(shí),Palm OS充分考慮了掌上電腦內存相對較小的情況,因此它只占有非常小的內存。由于基于Palm OS編寫(xiě)的應用程序占用的空間也非常?。ㄍǔV挥袔资甂B),所以,基于Palm OS的掌上電腦(雖然只有幾MB的RAM)可以運行眾多應用程序。
由于Palm產(chǎn)品的最大特點(diǎn)是使用簡(jiǎn)便、機體輕巧,因此決定了Palm OS應具有以下特點(diǎn)。
①操作系統的節能功能。由上 掌上電腦要求使用電源盡可能小,因此在Palm OS的應用程序中,如果沒(méi)有事件運行,則系統設備進(jìn)入半休眠(doze)的狀態(tài);如果應用程序停止活動(dòng)一段時(shí)間,則系統自動(dòng)進(jìn)入休眠(sleep)狀態(tài)。
②合理的內存管理。Palm的存儲器全部是可讀寫(xiě)的快速RAM,動(dòng)態(tài)RAM(Dynamic RAM)類(lèi)似于PC機上的RAM,它為全局變量和其它不需永久保存的數據提供臨時(shí)的存儲空間;存儲RAM(Storage RAM)類(lèi)似于PC機上的硬盤(pán),可以永久保存應用程序和數據。
③Palm OS的數據是以數據庫(database)的格式來(lái)存儲的。數據庫是由一組記錄(records)和一些數據庫頭信息組成的。為保證程序處理速度和存儲器空間,在處理數據的時(shí)候,Palm OS不是把數據從存儲堆(Storage Heap)拷貝到動(dòng)態(tài)堆(Dynamic Heap)后再進(jìn)行處理,而是在存儲堆中直接處理。為避免錯誤地調用存儲器地址,Palm OS規定,這一切都必須調用其內存管理器里的API來(lái)實(shí)現。
2.2 Windows CE
Windows CE是微軟開(kāi)發(fā)的一個(gè)開(kāi)放的、可升級的32位嵌入式操作系統,是基于掌上型電腦類(lèi)的電子設備操作。它是精簡(jiǎn)的Windows 95。Windows CE的圖形用戶(hù)界面相當出色。其中CE中的C代表袖珍(Compact)、消費(Consumer)、通信能力(Connectivity)和伴侶(Companion);E代表電子產(chǎn)品(Electronics)。與Windows 95/98、Windows NT不同的是,Windows CE是所有源代碼全部由微軟自行開(kāi)發(fā)的嵌入式新型操作系統,其操作界面雖來(lái)源于Windows 95/98,但Windows CE是基于Win32 API重新開(kāi)發(fā)的、新型的信息設備平臺。Windows CE具有模塊化、結構化和基于Win32應用程序接口以及與處理器無(wú)關(guān)等特點(diǎn)。Windows CE不僅繼承了傳統的Windows圖形界面,并且在Windows CE平臺上可以使用Windows 95/98上的編程工具(如Visual Basic、Visual C++等)、使用同樣的函數、使用同樣的界面網(wǎng)格,使絕大多數的應用軟件只需簡(jiǎn)單的修改和移植就可以在Windows CE平臺上繼續使用。
Windows CE的設計目標是:模塊化及可伸縮性、實(shí)時(shí)性能好,通信能力強大,支持多種CPU。它的設計可以滿(mǎn)足多種設備的需要,這些設備包括了工業(yè)控制器、通信集線(xiàn)器以及銷(xiāo)售終端之類(lèi)的企業(yè)設備,還有像照相機、電話(huà)和家用娛樂(lè )器材之類(lèi)的消費產(chǎn)品。一個(gè)典型的基于Windows CE的嵌入系統通常為某個(gè)特定用途而設計,并在不聯(lián)機的情況下工作。它要求所使用的操作系統體積較小,內建有對中斷的響應功能。
Windows CE的特點(diǎn)有:
①具有靈活的電源管理功能,包括瞬眠/喚醒模式。
②使用了對象存儲(object store)技術(shù),包括文件系統、注冊表及數據庫。它還具有很多高性能、高效率的操作系統特 性,包括按需換頁(yè)、共享存儲、交叉處理同步、支持大容量堆(heap)等。
③擁有良好的通信能力。廣泛支持各種通信硬件,亦支持直接的局域連接以及撥號連接,并提供與PC、內部網(wǎng)以及Internet的連接,還提供與Windows 9x/NT的最佳集成和通信。
④支持嵌套中斷。允許更高優(yōu)先級別的中斷首先得到響應,而不是等待低級別的ISR完成。這使得該操作系統具有嵌入式操作系統所要求的實(shí)時(shí)性。
⑤更好的線(xiàn)程響應能力。對高級別IST(中斷服務(wù)線(xiàn)程)的響應時(shí)間上限的要求更加嚴格,在線(xiàn)程響應能力方面的改進(jìn),幫助開(kāi)發(fā)人員掌握線(xiàn)程轉換的具體時(shí)間,并通過(guò)增強的監控能力和對硬件的控制能力幫助他們創(chuàng )建新的嵌入式應用程序。
⑥256個(gè)優(yōu)先級別??梢允归_(kāi)發(fā)人員在控制嵌入式系統的時(shí)序安排方面有更大的靈活性。
⑦Windows CE的API是Win32 API的一個(gè)子集,支持近1500個(gè)Win32 API。有了這些API,足可以編寫(xiě)任何復雜的應用程序。當然,在Windows CE系統中,所提供的API也可以隨具體應
用的需求而定。
在掌上型電腦中,Windows CE包含如下一些重要組件:Pocket Outlook及其組件、語(yǔ)音錄音機、移動(dòng)頻道、遠程撥號訪(fǎng)問(wèn)、世界時(shí)鐘、計算器、多種輸入法、GBK字符集、中文TTF字庫、英漢雙向詞典、袖珍瀏覽器、電子郵件、Pocket Office、系統設置、Windows CE Services軟件。
2.3 Linux
Linux是一個(gè)類(lèi)似于Unix的操作系統。它起源于芬蘭一個(gè)名為L(cháng)inus Torvalds的業(yè)余愛(ài)好,但是現在已經(jīng)是最為流行的一款開(kāi)放源代碼的操作系統。Linux從1991年問(wèn)世到現在,短短10年的時(shí)間內已發(fā)展成為一個(gè)功能強大、設計完善的操作系統,伴隨網(wǎng)絡(luò )技術(shù)進(jìn)步而發(fā)展起來(lái)的Linux OS已成為Microsoft公司的DOS和Windows 95/98的強勁對手。Linux系統不僅能夠運行于PC平臺,還在嵌入式系統方面大放光芒,在各種嵌入式Linux OS迅速發(fā)展的狀況下,Linux OS逐漸形成了可與Windows CE等EOS進(jìn)行抗衡的局面。目前正在開(kāi)發(fā)的嵌入式系統中,49%的項目選擇Linux作為嵌入式操作系統。Linux現已成為嵌入式操作的理想選擇。
中科紅旗軟件技術(shù)有限公司開(kāi)發(fā)的紅旗嵌入式Linux正在成為許多嵌入式設備廠(chǎng)商的首選。在不到一年的時(shí)間內,紅旗公司先后推出了 PDA、機頂盒、瘦客戶(hù)機、交換機用的嵌入式Linux系統,并且投入了實(shí)際應用?,F以紅旗嵌入式Linux為例來(lái)講解嵌入式Linux OS的特點(diǎn):
①精簡(jiǎn)的內核,性能高、穩定,多任務(wù)。
②適用于不同的CPU,支持多種體系結構,如X86、ARM、MIPS、ALPHA、SPARC等。
③能夠提供完善的嵌入式GUI以及嵌入式X-Windows。
④提供嵌入式瀏覽器、郵件程序、MP3播放器、MPEG播放器、記事本等應用程序。
⑤提供完整的開(kāi)發(fā)工具和SDK,同時(shí)提供PC上的開(kāi)發(fā)版本。
⑥用戶(hù)可定制,可提供圖形化的定制和配置工具。
⑦常用嵌入式芯片的驅動(dòng)集,支持大量的周邊硬件設備,驅動(dòng)豐富。
⑧針對嵌入式的存儲方案,提供實(shí)時(shí)版本和完善的嵌入式解決方案。
⑨完善的中文支持,強大的技術(shù)支持,完整的文檔。
⑩開(kāi)放源碼,豐富的軟件資源,廣泛的軟件開(kāi)發(fā)者的支持,價(jià)格低廉,結構靈活,適用面廣。
3、三種嵌入式操作系統的比較
3.1 Linux OS與Windows Ce的比較
嵌入式Linux OS與Windows CE相比的優(yōu)點(diǎn):第一,Linux是開(kāi)放源代碼的,不在存黑箱技術(shù),遍布全球的眾多Linux愛(ài)好者都是Linux開(kāi)發(fā)者的強大技術(shù)支持者;而 Windows CE是非開(kāi)放性OS,使第三方很難實(shí)現產(chǎn)品定制。第二,Linux的源代碼隨處可得,注釋豐富,文檔齊全,易于解決各種問(wèn)題。第三,Linux的內核小、效率高;而Windows CE在這方面是笨拙的,占用過(guò)多的RAM,應用程序龐大。第四,Linux是開(kāi)放源代碼的OS,在價(jià)格上極具競爭力,適合中國國情。Windows CE的版權費用是廠(chǎng)家不得不考慮的因素。第五,Linux不僅支持x86芯片,還是一個(gè)跨平臺的系統。到目前為止,它可以支持20~30種CPU,很多 CPU(包括家電業(yè)的芯片)廠(chǎng)商都開(kāi)始做Linux的平臺移植工作,而且移植的速度遠遠超過(guò)Java的開(kāi)發(fā)環(huán)境。如果今天采用Linux環(huán)境開(kāi)發(fā)產(chǎn)品,那么將來(lái)更換CPU時(shí)就不會(huì )遇到更換平臺的困擾。第六,Linux內核的結構在網(wǎng)絡(luò )方面是非常完整的,它提供了對包括十兆位、百兆位及千兆位的以太網(wǎng)絡(luò ),還有無(wú)線(xiàn)網(wǎng)絡(luò )、Token ring(令牌環(huán))和光纖甚至衛星的支持。第七,Linux在內核結構的設計中考慮適應系統的可裁減性的要求,Windows CE在內核結構的設計中并未考慮適應系統的高度可裁減性的要求。
嵌入式Linux OS與Windows CE相比的弱點(diǎn):第一,是開(kāi)發(fā)難度較高,需要很高的技術(shù)實(shí)力;第二,是核心調試工具不全,調試不太方便,尚沒(méi)有很好的用戶(hù)圖形界面;第三,與某些商業(yè)OS 一樣,嵌入式Linux占用較大的內存,當然,人們可以去掉部分無(wú)用的功能來(lái)減小使用的內存,但是如果不仔細,將引起新的問(wèn)題;第四,有些Linux的應用程序需要虛擬內存,而嵌入式系統中并沒(méi)有或不需要虛擬內存,所以并非所有的Linux應用程序都可以在嵌入式系統中運行。
3.2 palm OS與Windows CE的比較
3Com公司的Palm OS是掌上電腦市場(chǎng)中較為優(yōu)秀的嵌入式操作系統,是針對這一市場(chǎng)專(zhuān)門(mén)設計的系統。它有開(kāi)放的操作系統應用程
從技術(shù)層面上講,Palm OS是一套專(zhuān)門(mén)為掌上電腦開(kāi)發(fā)的操作系統,具有許多Windows CE無(wú)法比擬的優(yōu)勢;Windows CE過(guò)于臃腫,不適合應用在廉價(jià)的掌上電腦中。
Palm OS是一套具有極強開(kāi)放性的系統。開(kāi)發(fā)者向用戶(hù)免費提供Palm OS的開(kāi)發(fā)工具,允許用戶(hù)利用該工具在Palm OS基礎上方便地編寫(xiě)、修改相關(guān)軟件。與之相比,Windows CE的開(kāi)發(fā)工具就顯得復雜多了,這使得一般用戶(hù)很難掌握。這也Palm OS與Windows CE的另一個(gè)主要區別。
我們從常用EOS的大小、可開(kāi)發(fā)定制、互操作性、通用性、實(shí)時(shí)性及應用領(lǐng)域幾個(gè)方面,通過(guò)表1來(lái)歸納如下:
結語(yǔ)
Palm OS、Windows CE、Linux這三種嵌入式操作系統各有不同的特點(diǎn),不同的用途;但Linux比Palm OS和Windows CE更小、更穩定,而且Linux是開(kāi)放的OS,在價(jià)格上極具競爭力。如今整個(gè)市場(chǎng)尚未成型,嵌入式操作系統也未形成統一的國際標準,而且Linux的一系列特征又為我們開(kāi)發(fā)國產(chǎn)的嵌入式操作系統提供了方便,因此,我們有機會(huì )在這個(gè)未成熟的市場(chǎng)上占有一席之地。
評論