不過微核心RTOS的架構(gòu)除了優(yōu)點(diǎn)以外,由于其process間的訊息傳遞功能將會(huì)占用存儲(chǔ)器頻寬,影響到校能表現(xiàn),因此在實(shí)際應(yīng)用上,就必須采用特殊的最佳化手段,以避免掉訊息傳遞功能所帶來的性能耗損。
6.Nucleus Plus
這款嵌入式操作系統(tǒng)主要特征就是輕薄短小,其架構(gòu)上的延展性,可以讓Nucleus RTOS所占的儲(chǔ)存空間壓縮到僅有13K左右,而且Nucleus Plus是一款不需授權(quán)費(fèi)的操作系統(tǒng),并且提供了原始碼。
Nucleus Plus本身只是Acclerated Technology公司完整解決方案里面的其中一環(huán),這個(gè)RTOS本身架構(gòu)屬于先占式多工設(shè)計(jì),有超過95%的原始碼是用標(biāo)準(zhǔn)的ANSI C語言所編寫,因此可以非常有效率的移植到各種不同的平臺(tái)。
Nucleus Plus在CISC架構(gòu)處理器中,核心部份大約占去20KB左右的儲(chǔ)存空間,而在RISC處理器上則是40KB左右,核心資料結(jié)構(gòu)僅占約1.5KB,由于其即時(shí)回應(yīng)、先占式多工、以及多process并行,并且開放原始碼等特性,在國防、工控、航天工業(yè)、鐵路、網(wǎng)絡(luò)、POS、自動(dòng)化控制以及信息家電等領(lǐng)域廣泛受到應(yīng)用。
就如同QNX一般,Nucleus Plus也可以根據(jù)目標(biāo)產(chǎn)品的需求,來自行剪裁所需要的系統(tǒng)功能,達(dá)到精簡(jiǎn)體積的目的。而配合相對(duì)應(yīng)的編譯器(Borland c/c++、Microsoft c/c++)以及動(dòng)態(tài)連結(jié)程序庫和各種底層驅(qū)動(dòng)程序,在開發(fā)上擁有非常相當(dāng)大的便利性。諸如飛思卡爾(Freescale)、羅技(Logitech)公司、美國NEC、SK Telecom等公司,都有采用Nucleus Plus嵌入式操作系統(tǒng)作為開發(fā)產(chǎn)品使用。
7.WinCE
WinCE是微軟公司嵌入式、移動(dòng)計(jì)算平臺(tái)的基礎(chǔ),它是一個(gè)開放的、可升級(jí)的32位嵌入式操作系統(tǒng),是基于掌上型電腦類的電子設(shè)備操作系統(tǒng),它是精簡(jiǎn)的Windows 95,Win CE的圖形用戶界面相當(dāng)出色。WinCE是從整體上為有限資源的平臺(tái)設(shè)計(jì)的多線程、完整優(yōu)先權(quán)、多任務(wù)的操作系統(tǒng)。它的模塊化設(shè)計(jì)允許它對(duì)于從掌上電腦到專用的工業(yè)控制器的用戶電子設(shè)備進(jìn)行定制。操作系統(tǒng)的基本內(nèi)核需要至少200K的ROM。
一般來說,一個(gè)WinCE系統(tǒng)包括四層結(jié)構(gòu):應(yīng)用程序、WinCE內(nèi)核映像、板級(jí)支持包(BSP)、硬件平臺(tái)。而基本軟件平臺(tái)則主要由WinCE系統(tǒng)內(nèi)核映像(OS Image)和板卡支持包(BSP)兩部分組成。因?yàn)閃inCE系統(tǒng)是一個(gè)軟硬件緊密結(jié)合的系統(tǒng),因此即使CPU處理器相同,但是如果開發(fā)板上的外圍硬件不相同,這個(gè)時(shí)候還是需要修改BSP來完成一個(gè)新的BSP。因此換句話說,就是WinCE的移植過程主要是改寫B(tài)SP的過程。
8.Android
Android是一個(gè)包括操作系統(tǒng)、中間件以及一些重要應(yīng)用程序的專門針對(duì)移動(dòng)設(shè)備的層次結(jié)構(gòu)的軟件集。Android作為一個(gè)完全開源的操作系統(tǒng),是由操作系統(tǒng)Linux、中間件以及核心應(yīng)用程序組成的軟件棧,通過Android SDK提供的API以及想用的開發(fā)工具,程序員可以很方便的開發(fā)Android平臺(tái)上的應(yīng)用程序。
整個(gè)系統(tǒng)由應(yīng)用程序,應(yīng)用程序框架,應(yīng)用程序庫,Android運(yùn)行庫,Linux內(nèi)核(Linux Kernel)五個(gè)部分組成。Android操作系統(tǒng)內(nèi)置了一部分應(yīng)用程序, 包括電子郵件客戶端、SMS程序、日歷、地圖、瀏覽器、通訊錄以及其他的程序,值得一提的是這些所有的程序都是用java編寫的。
移植的主要的工作是驅(qū)動(dòng),硬件抽象層的移植。為了更好地理解和調(diào)試系統(tǒng),也應(yīng)該適當(dāng)?shù)亓私馍蠈訉?duì)硬件抽象層的調(diào)用情況。
9.嵌入式實(shí)時(shí)操作系統(tǒng)
在工業(yè)控制、 軍事設(shè)備、航空航天等領(lǐng)域?qū)ο到y(tǒng)的響應(yīng)時(shí)間有苛刻的要求,這就需要使用實(shí)時(shí)系統(tǒng)。當(dāng)外界事件或數(shù)據(jù)產(chǎn)生時(shí),能夠接受并以足夠快的速度予以處理,其處理的結(jié)果又能在規(guī)定的時(shí)間之內(nèi)來控制生產(chǎn)過程或?qū)μ幚硐到y(tǒng)作出快速響應(yīng),并控制所有實(shí)時(shí)任務(wù)協(xié)調(diào)一致運(yùn)行的嵌入式操作系統(tǒng)。故對(duì)嵌入式實(shí)時(shí)操作系統(tǒng)的理解應(yīng)該建立在對(duì)嵌入式系統(tǒng)的理解之上加入對(duì)響應(yīng)時(shí)間的要求。
10.FreeRTOS
FreeRTOS是一個(gè)迷你操作系統(tǒng)內(nèi)核的小型嵌入式系統(tǒng)。作為一個(gè)輕量級(jí)的操作系統(tǒng),功能包括:任務(wù)管理、時(shí)間管理、信號(hào)量、消息隊(duì)列、內(nèi)存管理、記錄功能等,可基本滿足較小系統(tǒng)的需要。FreeRTOS任務(wù)可選擇是否共享堆棧,并且沒有任務(wù)數(shù)限制,多個(gè)任務(wù)可以分配相同的優(yōu)先權(quán)。相同優(yōu)先級(jí)任務(wù)的輪轉(zhuǎn)調(diào)度,同時(shí)可設(shè)成可剝奪內(nèi)核或不可剝奪內(nèi)核。
FreeRTOS 的移植主要需要改寫如下三個(gè)文件。1.portmacro.h 2.port.c 3. port.asm