嵌入式實(shí)時(shí)操作系統μC/OS-II與eCos的比較

發(fā)布時(shí)間:2010-11-16 16:11    發(fā)布者:eetech
敘述嵌入式系統和嵌入式操作系統的概念,簡(jiǎn)述嵌入式實(shí)時(shí)系統的發(fā)展階段。重點(diǎn)介紹μC/OS-II和eCos的發(fā)展歷史,并且對μC/OS-II與eCos進(jìn)行比較,為大家在選擇嵌入式操作系統時(shí)提供參考。  

1 背景  

隨著(zhù)計算機技術(shù)的迅速發(fā)展和芯片制造工藝的不斷進(jìn)步,嵌入式系統的應用日益廣泛:從民用的電視、手機等電路設備到軍用的飛機、坦克等武器系統,到處都有嵌入式系統的身影。在嵌入式系統的應用開(kāi)發(fā)中,采和嵌入式實(shí)時(shí)操作系統(簡(jiǎn)稱(chēng)RTOS)能夠支持多任務(wù),使得程序開(kāi)發(fā)更加容易,便于維護,同時(shí)能夠提高系統的穩定性和可靠性。這已逐漸成為嵌入式系統開(kāi)發(fā)的一個(gè)發(fā)展方向。  

2 嵌入式操作系統概述  

嵌入式操作系統是一種支持嵌入式系統應用的操作系統軟件。它是嵌入式系統(包括硬、軟件系統)極為重要的組成部分,通常包括與硬件相關(guān)的底層驅動(dòng)軟件、系統內核、設備驅動(dòng)接口、通信協(xié)議、圖形界面、標準化瀏覽器Browser等。嵌入式操作系統具有通用操作系統的基本特點(diǎn),如能夠有效管理越來(lái)越復雜的系統資源;能夠把硬件虛擬化,使得開(kāi)發(fā)人員從繁忙的驅動(dòng)程序移植和維護中解脫出來(lái);能夠提供庫函數、標準設備驅動(dòng)程序以及工具集等。與通用操作系統相比較,嵌入式操作系統在系統實(shí)時(shí)高效性、硬件的相關(guān)依賴(lài)性、軟件固態(tài)化以及應用的專(zhuān)用性等方面具有較為突出的特點(diǎn)。  

嵌入式系統的出現至今已經(jīng)有30多年的歷史?v觀(guān)嵌入式技術(shù)的發(fā)展過(guò)程,大致經(jīng)歷了四個(gè)階段。  

(1)無(wú)操作系統的嵌入式算法階段  

這一階段的嵌入式系統是以單芯片為核心的系統,具有與一些監測、伺服、指示設備相配合的功能。一般沒(méi)有明顯的操作系統支持,而是通過(guò)匯編語(yǔ)言編程對系統進(jìn)行直接控制。主要特點(diǎn)是系統結構和功能都相對單一,針對性強,無(wú)操作系統支持,幾乎沒(méi)有用戶(hù)接口。

(2)簡(jiǎn)單監控式的實(shí)時(shí)操作系統階段  

這一階段的嵌入式系統主要以嵌入式式器為基礎、以簡(jiǎn)單監控式操作系統為核心。系統的特點(diǎn)是:處理器種類(lèi)繁多,通用性比較弱;開(kāi)銷(xiāo)小,效率高;一般配備系統仿真器,具有一定的兼容性和擴展性;用戶(hù)界面不夠友好,主要用來(lái)控制系統負載以及監控應用程序運行。

(3)通用的嵌入式實(shí)時(shí)操作系統階段  

以通用型嵌入式實(shí)時(shí)操作系統為標志的嵌入式系統,如VxWorks、pSos、Windows CE就是這一階段的典型代表。這一階段嵌入式系統的特點(diǎn)是:能運行在各種不同的微處理器上;具有強大的能用型操作系統的功能,如具備了文件和目錄管理、多任務(wù)、設備驅動(dòng)支持、網(wǎng)絡(luò )支持、圖形窗口以及用戶(hù)界面等功能;具有豐富的API和嵌入式應用軟件。  

(4)以Internet為標志的嵌入式系統  

伴隨著(zhù)通用型嵌入式實(shí)時(shí)操作系統的發(fā)展,面向Internet網(wǎng)絡(luò )和特定應用的嵌入式操作系統正日益引起人們的重視,成為重要的發(fā)展方向。嵌入式系統與Internet的真正結合、嵌入式操作系統與應用設備的無(wú)縫結合代表著(zhù)嵌入式操作系統發(fā)展的未來(lái)。  

3 兩種源碼開(kāi)放的RTOS  

嵌入式實(shí)時(shí)操作系統有很多,如VxWorks、PalmOS、WindowsCE等。這些操作系統均屬于商品化產(chǎn)品,價(jià)格昂貴且由于源泉代碼不公開(kāi)導致了諸如對設備的支持、應用軟件的移植等一系列的問(wèn)題;而開(kāi)放源碼的RTOS在成本和技術(shù)上有其特有的優(yōu)勢,在RTOS領(lǐng)域占有越來(lái)越重要的地位,本文將介紹μC/OS-II和eCos兩種優(yōu)秀的源碼公開(kāi)的實(shí)時(shí)操作系統,通過(guò)對它們各自的特點(diǎn)和性能進(jìn)行分析和比較,給出相關(guān)的數據,為選擇一種合適的RTOS提供參考。  

3.1 μC/OS-II  

μC/OS-II的前射是μC/OS,最早出自于1992年美國嵌入式系統專(zhuān)家Jean J.Labrosse在《嵌入式系統編程》雜志的5月和6月刊上刊登的文章連載,并把μC/OS的源碼發(fā)布在該雜志的BBS上。當時(shí)就有500多人下載了這份源碼。世界上數以千計的工程技術(shù)人員將μC/OS應用到了各個(gè)領(lǐng)域,如照相機業(yè)、發(fā)動(dòng)機控制、網(wǎng)絡(luò )接入設備、高速公路電話(huà)系統、ATM機和工業(yè)機器人等。許多大學(xué)用μC/OS作教材,用于實(shí)時(shí)系統教學(xué)。1998年,作者決定出版μC/OS的第二本書(shū)《μC/OS-II The Real Time Kernel》,并設立了正式的網(wǎng)站:www. ΜC/OS-II.com,給μC/OS-II增加了一些新的功能,并且增加了約200頁(yè)的解釋。  

μC/OS和μC/OS-II是專(zhuān)門(mén)為計算機的嵌入式應用設計的,絕大部分代碼是用C語(yǔ)言編寫(xiě)的。CPU硬件相關(guān)部分是用匯編語(yǔ)言編寫(xiě)的、總量約200行的匯編語(yǔ)言部分被壓縮到最低限度,為的是便于移植到任何一種其它的CPU上。許多移植的范例可以從網(wǎng)站上得到。用戶(hù)只要有標準的ANSI的C交叉編譯器,有匯編器、連接器等軟件工具,就可以將μC/OS嵌入到開(kāi)發(fā)的產(chǎn)品中。  

μC/OS具有執行效率高、占用空間小、實(shí)時(shí)性能優(yōu)良和可擴展性能等特點(diǎn),最小內核可編譯至2KB。μC/OS-II已經(jīng)移植到了幾乎所有知名的CPU上。  

3.2 eCos  

eCos(embedded Configurable operating system),即嵌入式可配置操作系統,最初起源于美國的Cygnus Solutions公司。Cygnus公司于1998年11月發(fā)布了第一個(gè)eCos版本eCos1.1,當時(shí)只支持有限的幾種處理器結構。1999年11月,RedHat公司以6.74億美元收購了Cygnus公司。在此后的幾年里,eCos成為其嵌入式領(lǐng)域的關(guān)鍵產(chǎn)品,得到了迅速的發(fā)展。2002年,RedHat公司由于財務(wù)方面的原因,裁剪了eCos開(kāi)發(fā)隊伍,但并沒(méi)有停止eCos的發(fā)展。RedHat公司隨后宣稱(chēng)將繼續支持eCos的發(fā)展,而由原eCos主要開(kāi)發(fā)人員組建了eCos Centric公司,并于2003年5月正式發(fā)布了eCos2.0。  

雖然eCos是RedHat的產(chǎn)品,但是eCos并不是Linux或Linux的派生,eCos彌補了Linux在嵌入式應用領(lǐng)域的不足。目前,一個(gè)最小配置的Linux內核大概有500KB,需要占用1.5MB的內存空間,這還不包括應用程序和其它所需的服務(wù);eCos可以提供實(shí)時(shí)嵌入式應用所需的基本運行基件,而只占用幾十KB或幾百KB的內存空間。eCOS是一個(gè)源碼開(kāi)放的可配置、可移植、無(wú)版稅、面向深嵌入式應用的實(shí)時(shí)操作系統。從eCOS的名稱(chēng)可以看出,它最大的特點(diǎn)在于它是一個(gè)配置靈活的系統。ECOS的核心部分是由不同的組件組成的,包括內核、C語(yǔ)言庫和底層運行包等。每個(gè)組件以能提供大量的可配置選項,利用eCOS提供的配置工具可以很方便地進(jìn)行配置。通過(guò)不同的配置使得eCOS能夠滿(mǎn)足不同的嵌入式應用。  

4 μC/OS-II與eCOS的比較  

對于以上兩種源泉碼公開(kāi)的實(shí)時(shí)操作系統,我們主要從以下幾個(gè)方面進(jìn)行比較。通過(guò)比較,能夠為大家選擇適合自己系統的RTOS提供參考。  

4.1 內核調度機制  

RTOS內核的核心是調度器。當系統包含多個(gè)任務(wù)或多個(gè)線(xiàn)程時(shí),必須使用調度器來(lái)決定當前執行哪一個(gè)任務(wù)或線(xiàn)程。調度器對線(xiàn)程的運行進(jìn)行控制,并為線(xiàn)程提供一種同步機制。表1列出了這兩種RTOS調度器(調度機制)的比較。

表1 調度器比較  
 
調度方法
同優(yōu)先級調度
優(yōu)先級數/個(gè)
任務(wù)數量/個(gè)

uC/OS-II
固定
優(yōu)先級
搶占式
無(wú)
64
(8個(gè)保留)
56

eCos
位圖
優(yōu)先級
搶占式
無(wú)
32
32

多級隊列
優(yōu)先級
搶占式

32
無(wú)限

獎券
獎券法目前在測試中

μC/OS只支持固定優(yōu)先級搶占式,不支持時(shí)間片輪轉調度,調度方法簡(jiǎn)單、實(shí)時(shí)性好,用法也簡(jiǎn)單;eCOS調度方法豐富,適應性好。當然,目前的eCOS只允許在其目標系統中使用一個(gè)單獨的調度器,未來(lái)的版本將可以允許多個(gè)調度器協(xié)同工作。  

4.2 任務(wù)間同步、通信機制  

RTOS的功能一般要通過(guò)若干任務(wù)和中斷服務(wù)程序共同完成,任務(wù)與任務(wù)之間、任務(wù)與中斷服務(wù)程序之間必須協(xié)調動(dòng)作,互相配合,這就牽涉到任務(wù)間的同步與通信問(wèn)題。表2為這兩種操作系統同步與通信機制的比較。

表2 同步與通信機制的比較  

uC/OS-II
eCos

同步與通信機制
信號量、郵箱、消息隊列
互斥、條件變量、計數型信號量、郵箱和事件標志

4.3 任務(wù)切換時(shí)間和中斷延遲時(shí)間  

任務(wù)切換時(shí)間和中斷延遲時(shí)間是評估RTOS性能的兩個(gè)重要指標。任務(wù)切換時(shí)間可以反映出RTOS執行任務(wù)的速度,而中斷延遲時(shí)間可以反映出RTOS對外界變化的反應速度。表3為這兩種操作系統任務(wù)切換時(shí)間和中斷延遲時(shí)間的比較。

表3 任務(wù)切換時(shí)間和中斷延遲時(shí)間的比較  
 
任務(wù)切換時(shí)間/us
中斷延遲時(shí)間/μs
測試環(huán)境

μC/OS-II
29.7~34.2
78.8
Intel80186(33MHz)

eCos
15.84
19.2
MPC860A3(33MHz)

4.4 對硬件的支持  

μC/OS-II和eCOS支持當前流行的大部分嵌入式CPU,都具有很好的可移植特性。μC/OS-II支持從8位到32位的CPU;而eCOS可以在16位、32位和64位等不同體系結構之間移植。μC/OS-II和eCOS由于本身內核就很小,經(jīng)過(guò)裁剪后的代碼最小可以分別為小于2KB和10KB,所需的最小數據RAM空間可以為4KB和10KB,因此它們對硬件的要求很低,具有極高的經(jīng)濟性。  

結語(yǔ)  

通過(guò)比較可以看到:μC/OS-II相對eCOS來(lái)說(shuō),源代碼最小很多,特別適合學(xué)習和研究。它最大的特點(diǎn)是小巧,適合應用在一些RAM和ROM有限的小型嵌入式系統中,如單片機系統。ECOS最大的特點(diǎn)是配置靈活,適合于用在一些商業(yè)級或工業(yè)級的嵌入式系統,如一些消費電子、汽車(chē)領(lǐng)域等等?傊,選用什么樣的操作系統,要根據目標系統的硬件條件和用戶(hù)應用程序的復雜度來(lái)確定。
本文地址:http://selenalain.com/thread-39847-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

相關(guān)在線(xiàn)工具

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页