姚錫忠
摘要:本文分析了嵌入式操作系統(tǒng)的特點(diǎn),并且從嵌入式操作系統(tǒng)的應(yīng)用著手,探討了嵌入式系統(tǒng)的未來發(fā)展趨勢。
關(guān)鍵詞:嵌入式系統(tǒng);嵌入式操作系統(tǒng);實(shí)時性;嵌入式Linux
1 引言
嵌入式系統(tǒng)主要由嵌入式處理器、相關(guān)支撐硬件、嵌入式操作系統(tǒng)及應(yīng)用軟件系統(tǒng)等組成。嵌入式操作系統(tǒng)(real-time embedded operating system, RTOS 或EOS)是一種支持嵌入式系統(tǒng)應(yīng)用的操作系統(tǒng)軟件,它是嵌入式系統(tǒng)極為重要的組成部分,通常包括和硬件相關(guān)的底層驅(qū)動軟件、系統(tǒng)內(nèi)核、設(shè)備驅(qū)動接口、通信協(xié)議、圖像界面、標(biāo)準(zhǔn)化瀏覽器等browser。嵌入式操作系統(tǒng)具備通用操作系統(tǒng)的基本特點(diǎn),如能夠有效管理越來越復(fù)雜的系統(tǒng)資源;能夠把硬件虛擬化,使得研發(fā)人員從繁忙的驅(qū)動程式移植和維護(hù)中解脫出來;能夠提供庫函數(shù)、驅(qū)動程式、工具集連同應(yīng)用程式 。和通用操作系統(tǒng)相比較,嵌入式操作系統(tǒng)在系統(tǒng)實(shí)時高效性、硬件的相關(guān)依賴性、軟件固態(tài)化連同應(yīng)用的專用性等方面具備較為突出的特點(diǎn)。
2 嵌入式操作系統(tǒng)的發(fā)展歷史
從1981年Ready System發(fā)展了世界上第1個商業(yè)嵌入式實(shí)時內(nèi)核(VRTX32),到今天已經(jīng)有近30年的歷史。嵌入式操作系統(tǒng)伴隨著嵌入式系統(tǒng)的發(fā)展經(jīng)歷了三個比較明顯的階段:
第一階段:無操作系統(tǒng)的嵌入算法階段。這一階段的嵌入式系統(tǒng)是以可編程控制器的形式、以單芯片為核心的系統(tǒng),同時具有與一些監(jiān)測、伺服、指示設(shè)備相配合的功能。這種系統(tǒng)大部分應(yīng)用于一些專業(yè)性極強(qiáng)的工業(yè)控制系統(tǒng)中,一般沒有明顯的被稱為操作系統(tǒng)(RTOS)的支持,而是通過匯編語言編程對系統(tǒng)進(jìn)行直接控制,運(yùn)行結(jié)束后清除內(nèi)存。這一階段系統(tǒng)的主要特點(diǎn)是系統(tǒng)結(jié)構(gòu)和功能都相對單一,針對性強(qiáng),但無操作系統(tǒng)支持,幾乎沒有用戶接口,比較適合于各類專用領(lǐng)域中。第二階段:簡單監(jiān)控式的實(shí)時操作系統(tǒng)階段。這一階段的嵌入式系統(tǒng)主要以嵌入式CPU為基礎(chǔ)、簡單操作系統(tǒng)為核心的嵌入式系統(tǒng)。系統(tǒng)的特點(diǎn)是處理器種類繁多,通用性比較差;系統(tǒng)開銷小,效率高;一般配備系統(tǒng)仿真器,操作系統(tǒng)具有一定的兼容性和擴(kuò)展性;應(yīng)用軟件較專業(yè),用戶界面不夠友好;系統(tǒng)主要用來控制系統(tǒng)負(fù)載以及監(jiān)控應(yīng)用程序運(yùn)行。第三階段:通用的嵌入式實(shí)時操作系統(tǒng)階段。以通用型嵌入式實(shí)時操作系統(tǒng)(RTOS)為標(biāo)志的嵌入式系統(tǒng),如VxWorks、pSOS、OS-9、Windows CE就是這一階段的典型代表。這一階段系統(tǒng)的特點(diǎn)是能運(yùn)行在各種不同類型強(qiáng)大的微處理器上;具有強(qiáng)大的通用型操作系統(tǒng)的功能,如具備了文件和目錄管理、多任務(wù)、設(shè)備支持、網(wǎng)絡(luò)支持、圖形窗口以及用戶界面等功能;具有大量的豐富的應(yīng)用程序接口(API)和嵌入式應(yīng)用軟件豐富。
3 嵌入式操作系統(tǒng)的應(yīng)用特點(diǎn)
與其他類型的操作系統(tǒng)相比,嵌入式操作系統(tǒng)具有以下一些特點(diǎn)。
實(shí)時性:所謂實(shí)時性,其核心含義在于操作系統(tǒng)在規(guī)定時間內(nèi)準(zhǔn)確完成應(yīng)該做的事情,并且操作系統(tǒng)的執(zhí)行線索是確定的,而不是單純的速度快。嵌入式任務(wù)往往是時間關(guān)鍵性約束的,必須在某個時間范圍內(nèi)完成。
可剪裁性:為了能夠適應(yīng)各種應(yīng)用需求的變化,能否對系統(tǒng)的功能模塊進(jìn)行配置是嵌入式系統(tǒng)與普通系統(tǒng)的另一區(qū)別。不論從硬件環(huán)境、應(yīng)用環(huán)境還是開發(fā)界面來看,應(yīng)用于嵌入式環(huán)境的RTOS讓開發(fā)人員可以根據(jù)硬件環(huán)境和應(yīng)用環(huán)境的不同而對操作系統(tǒng)進(jìn)行靈活的裁剪和配置。
可靠性:嵌入式系統(tǒng)一旦開始運(yùn)行就不需要人的過多干預(yù)。在這種條件下,要求負(fù)責(zé)系統(tǒng)管理的嵌入式操作系統(tǒng)具有較高的穩(wěn)定性和可靠性。運(yùn)行于嵌入式環(huán)境中的RTOS要求應(yīng)用軟件具有與操作系統(tǒng)同樣的可靠性,這種設(shè)計思路對應(yīng)用開發(fā)人員提出了更高的要求,同時也要求操作系統(tǒng)自身足夠開放。
體積小:嵌入式系統(tǒng)提供的資源有限,由于硬件的限制,嵌入式操作系統(tǒng)必須小巧簡捷。特殊的開發(fā)調(diào)試環(huán)境:提供完整的集成開發(fā)環(huán)境是每一個嵌入式系統(tǒng)開發(fā)人員所期待的。一個完整的嵌入式系統(tǒng)的集成開發(fā)環(huán)境一般需要提供的工具是編譯/連接器、內(nèi)核調(diào)試/跟蹤器和集成圖形界面開發(fā)平臺,其中的集成圖形界面開發(fā)平臺包括編輯器、調(diào)試器、軟件仿真器和監(jiān)視器等。
4 嵌入式操作系統(tǒng)的應(yīng)用現(xiàn)狀
據(jù)調(diào)查,目前全世界的嵌入式操作系統(tǒng)已經(jīng)有兩百余種,有許多商業(yè)的嵌入式操作系統(tǒng),也有大量開放源代碼的嵌入式操作系統(tǒng),其中著名的有Vxwork、QNX、PalmOS、Windows CE、uC/OS和Linux等。WindRiver公司的VxWorks是專門為實(shí)時嵌入式系統(tǒng)設(shè)計開發(fā)的操作系統(tǒng)軟件。VxWorks 支持各種工業(yè)標(biāo)準(zhǔn),包括POSIX、ANSI C 和TCP/IP網(wǎng)絡(luò)協(xié)議。VxWorks 運(yùn)行系統(tǒng)的核心是一個高效率的微內(nèi)核,該微內(nèi)核支持各種實(shí)時功能,包括快速多任務(wù)處理、中斷支持、搶占式和輪轉(zhuǎn)式調(diào)度。微內(nèi)核設(shè)計減輕了系統(tǒng)負(fù)載并可快速響應(yīng)外部事件。QNX是由加拿大QNX軟件系統(tǒng)有限公司開發(fā)的分布式實(shí)時操作系統(tǒng),它由微內(nèi)核和一組共操作的進(jìn)程組成,具有高度的伸縮性,可靈活地剪裁,最小配置只占用幾十KB內(nèi)存。因此,可以廣泛地嵌入到智能機(jī)器、智能儀器儀表、機(jī)頂盒、通訊設(shè)備、PDA等應(yīng)用中去。3Com公司的Palm OS在掌上電腦和PDA市場上獨(dú)占其霸主地位。Palm OS是一種32位的嵌入式操作系統(tǒng),提供了串行通信接口和紅外線傳輸接口,利用它可以方便地與其它外部設(shè)備通信、傳輸數(shù)據(jù),擁有開放的OS應(yīng)用程序接口,開發(fā)商可根據(jù)需要自行開發(fā)所需的應(yīng)用程序。Windows CE是微軟開發(fā)的一個開放的、可升級的32位嵌入式操作系統(tǒng),是基于掌上型電腦類的電子設(shè)備操作。它是精簡的Windows 95。Windows CE的圖形用戶界面相當(dāng)出色。Windows CE內(nèi)核較小,能作為一種嵌入式操作系統(tǒng)應(yīng)用到工業(yè)控制等領(lǐng)域。其優(yōu)點(diǎn)在于便攜性、提供對微處理器的選擇以及非強(qiáng)行的電源管理功能。內(nèi)置的標(biāo)準(zhǔn)通信能力使Windows CE能夠訪問Internet并收發(fā)E_mail或瀏覽Web。除此之外,Windows CE特有的與Windows類似的用戶界面使最終用戶易于使用。Windows CE的缺點(diǎn)是速度慢、效率低、價格偏高、開發(fā)應(yīng)用程序相對較難。
5 嵌入式操作系統(tǒng)的發(fā)展趨勢
通過對現(xiàn)有嵌入式操作系統(tǒng)進(jìn)行分析,我認(rèn)為它們雖然提供了較為強(qiáng)大的類似于桌面操作系統(tǒng)的功能,但針對嵌入式系統(tǒng)的特征與特性而言,其共同的缺點(diǎn)是缺乏應(yīng)用的高效性,網(wǎng)絡(luò)連接功能較差,系統(tǒng)對應(yīng)用程序開發(fā)支持相對較弱,因此,迫切需要面向應(yīng)用的、專用特制的新一代嵌入式操作系統(tǒng)。特定應(yīng)用的嵌入式實(shí)時操作系統(tǒng)(application specific operating systems,ASOS)是指面向應(yīng)用的、專用特制的嵌入式實(shí)時操作系統(tǒng)。它除具有基本的處理多任務(wù)、文件及設(shè)備驅(qū)動的操作系統(tǒng)功能之外,還具有如下系統(tǒng)特性:
面向特定應(yīng)用的簡化型系統(tǒng)調(diào)用接口,專門支持一種或一類嵌入式應(yīng)用;最小內(nèi)核處理集,系統(tǒng)開銷小,運(yùn)行效率高,并可用于各種非計算機(jī)設(shè)備;可伸縮性、可裁減的系統(tǒng)體系結(jié)構(gòu),提供多層次的系統(tǒng)體系結(jié)構(gòu);具有各種即插即用的設(shè)備驅(qū)動接口; 具有網(wǎng)絡(luò)如Internet或無線接入功能,提供TCP/UDP/IP/PPP協(xié)議支持及統(tǒng)一的 MAC 訪問層接口,為各種移動計算設(shè)備預(yù)留接口。同時,隨著硬件技術(shù)、應(yīng)用需求和開發(fā)需求的變化,嵌入操作系統(tǒng)也需要支持面向?qū)ο蠛涂芍赜玫燃夹g(shù)。這也要求未來嵌入式操作系統(tǒng)的開發(fā)要注意以下幾個方面:通過自動化配置提高系統(tǒng)移植的效率,即盡量將操作系統(tǒng)的移植工作讓開發(fā)工具自動完成;系統(tǒng)性能向信息化、網(wǎng)絡(luò)化、智能化發(fā)展;面向構(gòu)件的體系結(jié)構(gòu),即將操作系統(tǒng)的功能模塊構(gòu)件化,建立標(biāo)準(zhǔn)統(tǒng)一的網(wǎng)絡(luò)通信協(xié)議,并在嵌入式操作系統(tǒng)構(gòu)件化基礎(chǔ)之上實(shí)現(xiàn)應(yīng)用程序的智能化。
6 結(jié)束語
隨著Internet及芯片技術(shù)的快速發(fā)展,嵌入式系統(tǒng)應(yīng)用的持續(xù)升溫,嵌入式操作系統(tǒng)也得到了蓬勃發(fā)展,當(dāng)然也對嵌入式操作系統(tǒng)在提高嵌入式系統(tǒng)開發(fā)的效率,增強(qiáng)嵌入式應(yīng)用軟件的可移植性等方面提出了更高的要求,使嵌入式系統(tǒng)的開發(fā)方法更具科學(xué)性。
參考文獻(xiàn)
[1]嵌入式操作系統(tǒng)的定義及其發(fā)展趨勢. http://info.ec.hc360.com/HTML/001/25204.htm.
[2]何小慶.嵌入式Linux_嵌入式系統(tǒng)軟件的機(jī)遇和挑戰(zhàn).電子產(chǎn)品世界.2002.9.A.