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