三種嵌入式操作系統(tǒng)的深入分析與詳細(xì)比較
1、嵌入式系統(tǒng)與嵌入式操作系統(tǒng) 1.1 嵌入式系統(tǒng) 嵌入式系統(tǒng)是以嵌入式計(jì)算機(jī)為技術(shù)核心,面向用戶、面向產(chǎn)品、面向應(yīng)用,軟硬件可裁減的,適用于對(duì)功能、可靠性、成本、體積、功耗等綜合性能有嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)。 嵌入式系統(tǒng)應(yīng)具有的特點(diǎn)是:高可靠性;在惡劣的環(huán)境或突然斷電的情況下,系統(tǒng)仍然能夠正常工作;許多嵌入式應(yīng)用要求實(shí)時(shí)性,這就要求嵌入式操作系統(tǒng)具有實(shí)時(shí)處理能力 ;嵌入式系統(tǒng)和具體應(yīng)用有機(jī)地結(jié)合在一起,它的升級(jí)換代也是具體產(chǎn)品同步進(jìn)行;嵌入式系統(tǒng)中的軟件代碼要求高質(zhì)量、高可靠性,一般都固化在只讀存儲(chǔ)器中或閃存中,也就是說軟件要求固態(tài)化存儲(chǔ),而不是存儲(chǔ)在磁盤等載體中。 1.2 嵌入式操作系統(tǒng) 嵌入式操作系統(tǒng)eos(embedded operating system)是一種用途廣泛的系統(tǒng)軟件,過去它主要應(yīng)用于工業(yè)控制和國(guó)防系統(tǒng)領(lǐng)域。eos負(fù)責(zé)嵌入系統(tǒng)的全部軟、硬件資源的分配、調(diào)度作,控制、協(xié)調(diào)并發(fā)活動(dòng);它必須體現(xiàn)其所在系統(tǒng)的特征,能夠通過裝卸某些模塊來達(dá)到系統(tǒng)所要求的功能。目前,已推出一些應(yīng)用比較成功的eos產(chǎn)品系列。隨著internet技術(shù)的發(fā)展、信息家電的普及應(yīng)用及eos的微型化和專業(yè)化,eos開始從單一的弱功能向高專業(yè)化的強(qiáng)功能方向發(fā)展。嵌入式操作系統(tǒng)在系統(tǒng)實(shí)時(shí)高效性、硬件的相關(guān)依賴性、軟件固化以及應(yīng)用的專用性等方面具有較為突出的特點(diǎn)。eos是相對(duì)于一般操作系統(tǒng)而方的,它除具備了一般操作系統(tǒng)最基本的功能,如任務(wù)調(diào)度、同步機(jī)制、中斷處理、文件處理等外,還有以下特點(diǎn): ①可裝卸性。開放性、可伸縮性的體系結(jié)構(gòu)。 ②強(qiáng)實(shí)時(shí)性。eos實(shí)時(shí)性一般較強(qiáng),可用于各種設(shè)備控制當(dāng)中。 ③統(tǒng)一的接口。提供各種設(shè)備驅(qū)動(dòng)接口。 ④操作方便、簡(jiǎn)單、提供友好的圖形gui,圖形界面,追求易學(xué)易用。 ⑤提供強(qiáng)大的網(wǎng)絡(luò)功能,支持tcp/ip協(xié)議及其它協(xié)議,提供tcp/udp/ip/ppp協(xié)議支持及統(tǒng)一的mac訪問層接口,為各種移動(dòng)計(jì)算設(shè)備預(yù)留接口。 ⑥強(qiáng)穩(wěn)定性,弱交互性。嵌入式系統(tǒng)一旦開始運(yùn)行就不需要用戶過多的干預(yù),這就要負(fù)責(zé)系統(tǒng)管理的eos具有較強(qiáng)的穩(wěn)定性。嵌入式操作系統(tǒng)的用戶接口一般不提供操作命令,它通過系統(tǒng)的調(diào)用命令向用戶程序提供服務(wù)。 ⑦固化代碼。在嵌入式系統(tǒng)中,嵌入式操作系統(tǒng)和應(yīng)用軟件被固化在嵌入式系統(tǒng)計(jì)算機(jī)的rom中。輔助存儲(chǔ)器在嵌入式系統(tǒng)中很少使用,因此,嵌入式操作系統(tǒng)的文件管理功能應(yīng)該能夠很容易地拆卸,而用各種內(nèi)存文件系統(tǒng)。 ⑧更好的硬件適應(yīng)性,也就是良好的移植性。 國(guó)際上用于信息電器的嵌入式操作系統(tǒng)有40種左右?,F(xiàn)在,市場(chǎng)上非常流行的eos產(chǎn)品,包括3com公司下屬子公司的palm os,全球占有份額達(dá)50%,microsoft公司的windows ce不過29%。在美國(guó)市場(chǎng),palm os更以80%的占有率遠(yuǎn)超windows ce。開放源代碼的linux很適于做信息家電的開發(fā)。比如:中科紅旗軟件技術(shù)有限公司開發(fā)的紅旗嵌入式linux和美商網(wǎng)虎公司開發(fā)的基于xlinux的嵌入式操作系統(tǒng)“夸克”?!翱淇恕笔悄壳叭澜缱钚〉膌inux,它有兩具很突出的特點(diǎn),就是體積小和使用gcs編碼。 2.1 palm os palm是3com公司的產(chǎn)品,其操作系統(tǒng)為palm os。palm os是一種32位的嵌入式操作系統(tǒng)。palm提供了串行通信接口和紅外線傳輸接口,利用它可以方便地與其它外部設(shè)備通信、傳輸數(shù)據(jù);擁有開放的os應(yīng)用程序接口,開發(fā)商可根據(jù)需要自行開發(fā)所需的應(yīng)用程序。palm os是一套具有術(shù)強(qiáng)開放性的系統(tǒng),現(xiàn)在有大約數(shù)千種專用為palm os編寫的應(yīng)用程序,從程序內(nèi)容上看,小到個(gè)人管理、游戲,大到行業(yè)解決方案,palm os無所不包。在豐富的軟件支持下,基于palm os的掌上電腦功能得以不斷擴(kuò)展。 palm os是一套專門為掌上電腦開發(fā)的os。在編寫程序時(shí),palm os充分考慮了掌上電腦內(nèi)存相對(duì)較小的情況,因此它只占有非常小的內(nèi)存。由于基于palm os編寫的應(yīng)用程序占用的空間也非常小(通常只有幾十kb),所以,基于palm os的掌上電腦(雖然只有幾mb的ram)可以運(yùn)行眾多應(yīng)用程序。 由于palm產(chǎn)品的******特點(diǎn)是使用簡(jiǎn)便、機(jī)體輕巧,因此決定了palm os應(yīng)具有以下特點(diǎn)。 ①操作系統(tǒng)的節(jié)能功能。由上掌上電腦要求使用電源盡可能小,因此在palm os的應(yīng)用程序中,如果沒有事件運(yùn)行,則系統(tǒng)設(shè)備進(jìn)入半休眠(doze)的狀態(tài);如果應(yīng)用程序停止活動(dòng)一段時(shí)間,則系統(tǒng)自動(dòng)進(jìn)入休眠(sleep)狀態(tài)。 ②合理的內(nèi)存管理。palm的存儲(chǔ)器全部是可讀寫的快速ram,動(dòng)態(tài)ram(dynamic ram)類似于pc機(jī)上的ram,它為全局變量和其它不需永久保存的數(shù)據(jù)提供臨時(shí)的存儲(chǔ)空間;存儲(chǔ)ram(storage ram)類似于pc機(jī)上的硬盤,可以永久保存應(yīng)用程序和數(shù)據(jù)。 ③palm os的數(shù)據(jù)是以數(shù)據(jù)庫(database)的格式來存儲(chǔ)的。數(shù)據(jù)庫是由一組記錄(records)和一些數(shù)據(jù)庫頭信息組成的。為保證程序處理速度和存儲(chǔ)器空間,在處理數(shù)據(jù)的時(shí)候,palm os不是把數(shù)據(jù)從存儲(chǔ)堆(storage heap)拷貝到動(dòng)態(tài)堆(dynamic heap)后再進(jìn)行處理,而是在存儲(chǔ)堆中直接處理。為避免錯(cuò)誤地調(diào)用存儲(chǔ)器地址,palm os規(guī)定,這一切都必須調(diào)用其內(nèi)存管理器里的api來實(shí)現(xiàn)。 palm os與同步軟件(hotsync)結(jié)合可以使掌上電腦與pc機(jī)上的信息實(shí)現(xiàn)同步,把臺(tái)式同的功能擴(kuò)展到了掌上電腦。palm應(yīng)用范圍相當(dāng)廣泛,如:聯(lián)絡(luò)及工作表管理、電子郵件及互聯(lián)網(wǎng)通信、銷售人員及組別自動(dòng)化等等。palm外圍硬件也十分豐富,有數(shù)碼相機(jī)、gps接收器、調(diào)制解調(diào)器、gsm無線電話、數(shù)碼音頻播放設(shè)備、便攜鍵盤、語音記錄器、條碼掃描、無線尋呼接收器、探測(cè)儀。其中palm與gps結(jié)合的應(yīng)用,不但可以作導(dǎo)航定位,還可以結(jié)合gps作氣候的監(jiān)測(cè)、地名調(diào)查等。 2.2 windows ce windows ce是微軟開發(fā)的一個(gè)開放的、可升級(jí)的32位嵌入式操作系統(tǒng),是基于掌上型電腦類的電子設(shè)備操作。它是精簡(jiǎn)的windows 95。windows ce的圖形用戶界面相當(dāng)出色。其中ce中的c代表袖珍(compact)、消費(fèi)(consumer)、通信能力(connectivity)和伴侶(companion);e代表電子產(chǎn)品(electronics)。與windows 95/98、windows nt不同的是,windows ce是所有源代碼全部由微軟自行開發(fā)的嵌入式新型操作系統(tǒng),其操作界面雖來源于windows 95/98,但windows ce是基于win32 api重新開發(fā)的、新型的信息設(shè)備平臺(tái)。windows ce具有模塊化、結(jié)構(gòu)化和基于win32應(yīng)用程序接口以及與處理器無關(guān)等特點(diǎn)。windows ce不僅繼承了傳統(tǒng)的windows圖形界面,并且在windows ce平臺(tái)上可以使用windows 95/98上的編程工具(如visual basic、visual c++等)、使用同樣的函數(shù)、使用同樣的界面網(wǎng)格,使絕大多數(shù)的應(yīng)用軟件只需簡(jiǎn)單的修改和移植就可以在windows ce平臺(tái)上繼續(xù)使用。 windows ce的設(shè)計(jì)目標(biāo)是:模塊化及可伸縮性、實(shí)時(shí)性能好,通信能力強(qiáng)大,支持多種cpu。它的設(shè)計(jì)可以滿足多種設(shè)備的需要,這些設(shè)備包括了工業(yè)控制器、通信集線器以及銷售終端之類的企業(yè)設(shè)備,還有像照相機(jī)、電話和家用娛樂器材之類的消費(fèi)產(chǎn)品。一個(gè)典型的基于windows ce的嵌入系統(tǒng)通常為某個(gè)特定用途而設(shè)計(jì),并在不聯(lián)機(jī)的情況下工作。它要求所使用的操作系統(tǒng)體積較小,內(nèi)建有對(duì)中斷的響應(yīng)功能。 windows ce的特點(diǎn)有: ①具有靈活的電源管理功能,包括瞬眠/喚醒模式。 ②使用了對(duì)象存儲(chǔ)(ob-ject store)技術(shù),包括文件系統(tǒng)、注冊(cè)表及數(shù)據(jù)庫。它還具有很多高性能、高效率的操作系統(tǒng)特 性,包括按需換頁、共享存儲(chǔ)、交叉處理同步、支持大容量堆(heap)等。 ③擁有良好的通信能力。廣泛支持各種通信硬件,亦支持直接的局域連接以及撥號(hào)連接,并提供與pc、內(nèi)部網(wǎng)以及internet的連接,還提供與windows 9x/nt的******集成和通信。 ④支持嵌套中斷。允許更高優(yōu)先級(jí)別的中斷首先得到響應(yīng),而不是等待低級(jí)別的isr完成。這使得該操作系統(tǒng)具有嵌入式操作系統(tǒng)所要求的實(shí)時(shí)性。 ⑤更好的線程響應(yīng)能力。對(duì)高級(jí)別ist(中斷服務(wù)線程)的響應(yīng)時(shí)間上限的要求更加嚴(yán)格,在線程響應(yīng)能力方面的改進(jìn),幫助開發(fā)人員掌握線程轉(zhuǎn)換的具體時(shí)間,并通過增強(qiáng)的監(jiān)控能力和對(duì)硬件的控制能力幫助他們創(chuàng)建新的嵌入式應(yīng)用程序。 ⑥256個(gè)優(yōu)先級(jí)別。可以使開發(fā)人員在控制嵌入式系統(tǒng)的時(shí)序安排方面有更大的靈活性。 ⑦windows ce的api是win32 api的一個(gè)子集,支持近1500個(gè)win32 api。有了這些api,足可以編寫任何復(fù)雜的應(yīng)用程序。當(dāng)然,在windows ce系統(tǒng)中,所提供的api也可以隨具體應(yīng)用的需求而定。 在掌上型電腦中,windows ce包含如下一些重要組件:pocket outlook及其組件、語音錄音機(jī)、移動(dòng)頻道、遠(yuǎn)程撥號(hào)訪問、世界時(shí)鐘、計(jì)算器、多種輸入法、gbk字符集、中文ttf字庫、英漢雙向詞典、袖珍瀏覽器、電子郵件、pocket office、系統(tǒng)設(shè)置、windows ce services軟件。 2.3 linux linux是一個(gè)類似于unix的操作系統(tǒng)。它起源于芬蘭一個(gè)名為linus torvalds的業(yè)余愛好,但是現(xiàn)在已經(jīng)是最為流行的一款開放源代碼的操作系統(tǒng)。linux從1991年問世到現(xiàn)在,短短10年的時(shí)間內(nèi)已發(fā)展成為一個(gè)功能強(qiáng)大、設(shè)計(jì)完善的操作系統(tǒng),伴隨網(wǎng)絡(luò)技術(shù)進(jìn)步而發(fā)展起來的linux os已成為microsoft公司的dos和windows 95/98的強(qiáng)勁對(duì)手。linux系統(tǒng)不僅能夠運(yùn)行于pc平臺(tái),還在嵌入式系統(tǒng)方面大放光芒,在各種嵌入式linux os迅速發(fā)展的狀況下,linux os逐漸形成了可與windows ce等eos進(jìn)行抗衡的局面。目前正在開發(fā)的嵌入式系統(tǒng)中,49%的項(xiàng)目選擇linux作為嵌入式操作系統(tǒng)。linux現(xiàn)已成為嵌入式操作的理想選擇。 中科紅旗軟件技術(shù)有限公司開發(fā)的紅旗嵌入式linux正在成為許多嵌入式設(shè)備廠商的******。在不到一年的時(shí)間內(nèi),紅旗公司先后推出了pda、機(jī)頂盒、瘦客戶機(jī)、交換機(jī)用的嵌入式linux系統(tǒng),并且投入了實(shí)際應(yīng)用。現(xiàn)以紅旗嵌入式linux為例來講解嵌入式linux os的特點(diǎn): ①精簡(jiǎn)的內(nèi)核,性能高、穩(wěn)定,多任務(wù)。 ②適用于不同的cpu,支持多種體系結(jié)構(gòu),如x86、arm、mips、alpha、sparc等。 ③能夠提供完善的嵌入式gui以及嵌入式x-windows。 ④提供嵌入式瀏覽器、郵件程序、mp3播放器、mpeg播放器、記事本等應(yīng)用程序。 ⑤提供完整的開發(fā)工具和sdk,同時(shí)提供pc上的開發(fā)版本。 ⑥用戶可定制,可提供圖形化的定制和配置工具。 ⑦常用嵌入式芯片的驅(qū)動(dòng)集,支持大量的周邊硬件設(shè)備,驅(qū)動(dòng)豐富。 ⑧針對(duì)嵌入式的存儲(chǔ)方案,提供實(shí)時(shí)版本和完善的嵌入式解決方案。 ⑨完善的中文支持,強(qiáng)大的技術(shù)支持,完整的文檔。 ⑩開放源碼,豐富的軟件資源,廣泛的軟件開發(fā)者的支持,價(jià)格低廉,結(jié)構(gòu)靈活,適用面廣。 3、三種嵌入式操作系統(tǒng)的比較 3.1 linux os與windows ce的比較 嵌入式linux os與windows ce相比的優(yōu)點(diǎn):第一,linux是開放源代碼的,不在存黑箱技術(shù),遍布全球的眾多l(xiāng)inux愛好者都是linux開發(fā)者的強(qiáng)大技術(shù)支持者;而windows ce是非開放性os,使第三方很難實(shí)現(xiàn)產(chǎn)品定制。第二,linux的源代碼隨處可得,注釋豐富,文檔齊全,易于解決各種問題。第三,linux的內(nèi)核小、效率高;而windows ce在這方面是笨拙的,占用過多的ram,應(yīng)用程序龐大。第四,linux是開放源代碼的os,在價(jià)格上極具競(jìng)爭(zhēng)力,適合中國(guó)國(guó)情。windows ce的版權(quán)費(fèi)用是廠家不得不考慮的因素。第五, |