它的模塊化設(shè)計允許它對從掌上電腦到專用的工業(yè)控制器的用戶電子設(shè)備進行定制。操作系統(tǒng)的基本內(nèi)核需要至少200KB的ROM。由于嵌入式產(chǎn)品的體積、成本等方面有較嚴格的要求,所以處理器部分占用空間應(yīng)盡可能的小。
系統(tǒng)的可用內(nèi)存和外存數(shù)量也要受限制,而嵌入式操作系統(tǒng)就運行在有限的內(nèi)存(一般在ROM或快閃存儲器)中,因此就對操作系統(tǒng)的規(guī)模、效率等提出了較高的要求。
從技術(shù)角度上講,Windows CE作為嵌入式操作系統(tǒng)有很多的缺陷:沒有開放源代碼,使應(yīng)用開發(fā)人員很難實現(xiàn)產(chǎn)品的定制;在效率、功耗方面的表現(xiàn)并不出色,而且和Windows一樣占用過的系統(tǒng)內(nèi)存,運用程序龐大;版權(quán)許可費也是廠商不得不考慮的因素。
3.嵌入式Linux
這是嵌入式操作系統(tǒng)的一個新成員,其最大的特點是源代碼公開并且遵循GPL協(xié)議,在近年來成為研究熱點,據(jù)IDG預(yù)測嵌入式Linux將占未來兩年的嵌入式操作系統(tǒng)份額的50%。
Linux是開放源代碼,不存在黑箱技術(shù),遍布全球的眾多Linux愛好者優(yōu)勢Linux開發(fā)者的強大技術(shù)支持;并且Linux的內(nèi)核小、效率高,內(nèi)核的更新速度很快,Linux是可以定制的,其系統(tǒng)內(nèi)核最小只有約134KB。
Linux還是免費的OS,在價格上極具競爭力。因為它的開放性對于技術(shù)方面的要求不高只要懂Unix/Linux和C語言即可。隨著Linux在國內(nèi)的普及,這類人才越來越多。所以軟件的開發(fā)和維護成本很低,優(yōu)秀的網(wǎng)絡(luò)工能,這在Internet時代尤其重要,穩(wěn)定是Linux本身具備的一個很大的優(yōu)點,內(nèi)核精悍,運行所需資源少,十分適合嵌入式應(yīng)用。
支持的硬件數(shù)量龐大,嵌入式Linux和普通的Linux沒有本質(zhì)區(qū)別,PC上用到的硬件嵌入式Linux幾乎都支持,而且各種硬件的驅(qū)動程序源代碼都可以得到,為用戶編寫自己專有硬件的驅(qū)動程序帶來了很大方便。
4.μC/OS一Ⅱ
μC/OS一Ⅱ是著名的源代碼公開的實時內(nèi)核,是專為嵌入式應(yīng)用設(shè)計的,可用于8位,16位和32位單片機或數(shù)字信號處理器(DSP)。它是在原版本μC /OS的基礎(chǔ)上做了重大改進與升級,并有了近十年的使用實踐,有許多成功應(yīng)用該實時內(nèi)核的實例。它的主要特點如下:
1)公開源代碼,容易就能把操作系統(tǒng)移植到各個不同的硬件平臺上;
2)可移植性,絕大部分源代碼是用C語言寫的,便于移植到其他微處理器上,可固化;
3)可裁剪性,有選擇的使用需要的系統(tǒng)服務(wù),以減少斗所需的存儲空間;
4)占先式,完全是占先式的實時內(nèi)核,即總是運行就緒條件下優(yōu)先級最高的任務(wù);
5)多任務(wù),可管理64個任務(wù),任務(wù)的優(yōu)先級必須是不同的,不支持時間片輪轉(zhuǎn)調(diào)度法;
6)可確定性,函數(shù)調(diào)用與服務(wù)的執(zhí)行時間具有其可確定性,不依賴于任務(wù)的多少;
7)實用性和可靠性,成功應(yīng)用該實時內(nèi)核的實例,是其實用性和可靠性的最好證據(jù);
由于μC/OS一Ⅱ僅是一個實時內(nèi)核,這就意味著它不像其他實時存在系統(tǒng)那樣提供給用戶的只是一些API函數(shù)接口,還有很多工作需要用戶自己去完成。
5.QNX
QNX是一種商用的類Unix實時操作系統(tǒng),遵從POSIX規(guī)范,目標市場主要是嵌入式系統(tǒng)。QNX的應(yīng)用范圍極廣,包含了控制保時捷跑車的音樂和媒體功能,核電站和美國陸軍無人駕駛Crusher坦克的控制系統(tǒng),還有RIM公司的BlackBelly PlayBook平板電腦。QNX是一個分布式、嵌入式、可規(guī)模擴展的實時操作系統(tǒng)。它遵循POSⅨ.1 (程序接口)和POSⅨ.2 (Shell和工具)、部分遵循POSⅨ.1b(實時擴展)。
QNX操作系統(tǒng)核心僅包含了CPU任務(wù)排程、進程間通訊、中斷重導向以及定時器等部份,而除此之外包含驅(qū)動程序、檔案系統(tǒng)堆疊協(xié)議以及使用者應(yīng)用程序的所有程序都是屬于在使用者階段執(zhí)行。QNX操作系統(tǒng)有個相當特殊的Proc階段,專門負責程序process的建立,以及存儲器管理等交集在系統(tǒng)微核心中的組件。
基本上,QNX所有的組件都能透過消息傳遞這個函式來進行溝通,而具有良好定義的通訊機制,也能保障所有的組件都有完全獨立且被保護的儲存及執(zhí)行空間。因此有問題的應(yīng)用程序不會影響到其它組件的穩(wěn)定性,發(fā)生問題的程序?qū)蛔詣咏K止并重新啟動。
與傳統(tǒng)的操作系統(tǒng)架構(gòu)相較起來,微核心架構(gòu)可以讓嵌入式系統(tǒng)獲得更為快速的平均回覆時間(MTTR),當硬件驅(qū)動程序失效,QNX可以在數(shù)毫秒之內(nèi),就對該驅(qū)動程序進行終止、回收資源并重新啟動的步驟,讓嵌入式設(shè)備可接近無停擺時間表現(xiàn)。