嵌入式實時作業系統

嵌入式實時作業系統(Embedded Real-time Operation System,RTOS)。嵌入式系統是“用於控制、監視或者輔助操作機器和設備的裝置”

定義

英文名

Embedded Real-time Operation System,簡寫為(RTOS).

系統定義

當外界事件或數據產生時,能夠接受並以足夠快的速度予以處理,其處理的結果又能在規定的時間之內來控制生產過程或對處理系統作出快速回響,並控制所有實時任務協調一致運行的嵌入式作業系統。

註:在工業控制、 軍事設備、 航空航天等領域對系統的回響時間有苛刻的要求,這就需要使用實時系統。我們常常說的嵌入式作業系統都是嵌入式實時作業系統。比如μC/OS-II、eCOS和Linux、HOPEN OS。故對嵌入式實時作業系統的理解應該建立在對嵌入式系統的理解之上加入對回響時間的要求。

IEEE定義

嵌入式系統是 “Devices used to control, monitor, or assist the operation of equipment, machinery or plants”。

註:IEEE是國際電氣和電子工程師協會。

一般定義

以套用為中心、以計算機技術為基礎、軟體硬體可裁剪、功能、可靠性、成本、體積、功耗嚴格要求的專用計算機系統。

背景

隨著計算機技術的迅速發展和晶片製造工藝的不斷進步,嵌入式系統的套用日益廣泛:從民用的電視、手機等電路設備到軍用的飛機、坦克等武器系統,到處都有嵌入式系統的身影。在嵌入式系統的套用開發中,採用嵌入式實時作業系統(簡稱RTOS)能夠支持多任務,使得程式開發更加容易,便於維護,同時能夠提高系統的穩定性和可靠性。這已逐漸成為嵌入式系統開發的一個發展方向。

發展歷史

從1981年Ready System發展了世界上第1個商業嵌入式實時核心(VRTX32),到今天已經有近20年的歷史。20世紀80年代的產品還只支持一些16位的微處理器,如68k,8086等。這時候的RTOS還只有核心,以銷售二進制代碼為主。當時的產品除VRTX外,還有IPI公司的MTOS和80年代末ISI公司的PSOS。產品主要用於軍事和電信設備。進入20世紀90年代,現代作業系統的設計思想,如微核心設計技術和模組化設計思想,開始滲入RTOS領域。老牌的RTOS廠家如Ready System(在1995年與Microtec Research合併),也推出新一代的 VRTXsa實時核心,新一代的RTOS廠家Windriver推出了Vxwork。另外在這個時期,各家公司都有力求擺脫完全依賴第三方工具的制約,而通過自己收購、授權或使用免費工具鏈的方式,組成1套完整的開發環境。例如,ISI公司的Prismt、著名的Tornado(Windriver)和老牌的Spectra(VRTX開發系統)等。

進入20世紀90年代中期,網際網路之風在北美日漸風行。網路設備製造商、終端產品製造商都要求RTOS有網路和圖形界面的功能。為了方便使用大量現存的軟體代碼,他們希望RTOS廠家都支持標準的API,如POSIX, Win32等,並希望RTOS的開發環境與他們已經熟悉的UNIX,Windows一致。這個時期代表性的產品有Vxwork,QNX, Lynx和WinCE等。

技術發展

可以看出,進入20世紀90年代後,RTOS在嵌入式系統設計中的主導地位已經確定,越來越多的工程師使用RTOS,更多的新用戶願意選擇購買而不是自己開發。我們注意到,RTOS的技術發展有以下一些變化:

1. 因為新的處理器越來越多,RTOS自身結構的設計更易於移植,以便在短時間內支持更多種微處理器。

2.開放源碼之風已波及RTOS廠家。數量相當多的RTOS廠家出售RTOS時,就附加了源程式代碼並含生產版稅。

3. 後PC時代更多的產品使用RTOS,它們對實時性要求並不高,如手持設備等。微軟公司的WinCE,Plam OS, Java OS等RTOS產品就是順應這些套用而開發出來的。

4. 電信設備、控制系統要求的高可靠性,對RTOS提出了新的要求。瑞典Enea公司的OSE和WindRiver 新推出的Vxwork AE對支持HA(高可用性)和熱切換等特點都下了一番功夫。

5. Windriver收購了ISI,在RTOS市場形成了相當程度的壟斷,但是由於Windriver決定放棄PSOS,轉為開發Vxwork與PSOS合二為一版本,這便使得PSOS用戶再一次走到重新選擇RTOS的路口,給了其他RTOS廠家1次機會。

6. 嵌入式Linux已經在消費電子設備中得到套用。韓國和日本的一些企業都推出了基於嵌入式Linux的手持設備。嵌入式Linux得到了相當廣泛的半導體廠商的支持和投資,如Intel和 Motorola。

未來套用

RTOS可劃分為3個不同的領域:

1. 系統級:指RTOS運行在1個小型的計算機系統中完成實時的控制作用。這個領域將主要是微軟與Sun競爭之地,傳統上Unix在這裡占有絕對優勢。Sun通過收購,讓他的Solaris與 Chrous os(原歐洲的1種RTOS)結合,微軟力推NT的嵌入式版本"Embedded NT"。此外,嵌入式Linux將依託源程式碼開放和軟體資源豐富的優勢,進入系統級RTOS的市場。

2. 板級:傳統的RTOS的主要市場。如Vxwork, PSOS, QNX, Lynx和VRTX的套用將主要集中在航空航天、電話電訊等設備上。

3. SOC級(即片上系統):新一代RTOS的領域:主要套用在消費電子、網際網路和手持設備等產品上。代表的產品有Symbian 的Epoc、ATI 的Nucleus, Express logic 的Threadx。老牌的RTOS廠家的產品VRTX和Vxwork 也很注意這個市場。

從某種程度講,不會出現1個標準的RTOS(像微軟的Windows在桌面系統中的地位一樣),因為嵌入式套用本身就極具多樣性。在某個時間段以及某種行業,會出現1種絕對領導地位的RTOS,比如今天在寬頻的數據通信設備中的Vxwork和在亞洲手持設備市場上的WinCE就是一例子。但是,這種壟斷地位也並不是牢不可破的,因為在某種程度上用戶和合作夥伴更願意去培養1個新的競爭對手。比如,Intel投資的Montivista和Motorola投資的Lineo,這兩家嵌入式Linux系統,就是說明半導體廠商更願意看到1個經濟適用的、開放的RTOS環境。

中國現狀

中國將是世界上最大的RTOS市場之一。因為中國有著世界上最大的電信市場。據信息產業部預計,在未來2~3年內,中國將是世界上最大的手機市場(每1部手機都在運行1個RTOS)。

這樣龐大的電信市場就會孕育著大量的電信設備製造商,這就造就了大量的RTOS和開發工具市場機會。目前至2013年,中國的絕大多數設備製造商在採用RTOS時,首先考慮的還是國外產品。

目前,在中國市場上流行的RTOS主要有Vxwork, PSOS, VRTX, Nucleus,QNX和WinCE等。由於多數RTOS是嵌入在設備的控制器上,所以多數用戶並不願意冒風險嘗試1種新的RTOS。

但是我們同時也注意到,目前 RTOS在中國市場的銷售額還很小,這主要是2個原因:

1.中國設備製造商的規模普遍還無法與國外公司相比,開發和人員費用相對還較高,所以RTOS對於中國用戶來講是比較貴的。

2.多數國內用戶還沒有開始購買RTOS的版稅,其主要原因有:產品未能按計畫批量生產,沒有交版稅的意識。應該注意,大多數二進制的RTOS必須在產品量產時交版稅,或者按數量買或者與廠家討論一次性買斷,而由廠家直接發給你授權協定書。據國外某家RTOS廠家稱,他們年收入的30%來自版稅。

分類介紹

μTenux

μTenux 是一款開源免費的硬實時嵌入式作業系統,開發團隊來自大連,主要針對ARM Cortex M0-M4系列的微控制器。其核心採用上世紀80年代就出現的μT-Kernel。在全球嵌入式最發達的日本,μT-Kernel擁有60%的占有率。同時tecoss中國開源社區還推出了Tenux,針對ARM Cortex的R系列和A系列。目前,悠龍軟體是世界知名公司ARM的合作夥伴,還是Ti、ATMEL、ST、T-Engine、Neusoft、Tianfusoftwarepark、TEG、Parasoft etc.晶片廠商的合作夥伴。

目前,官方提供的μTenux穩定版代碼為V1.5.00r160。

DJYOS

DJYOS是一個嵌入式實時作業系統,沒有考慮在通用計算機/伺服器上與windows、linux、unix競爭。

DJYOS作業系統是以事件為核心進行調度的,這種調度策略使程式設計師可以按人類認知事物的習慣而不是計算機的習慣來編程。

普通作業系統中,調度是以執行緒為核心的,事件被作為執行緒的數據,標榜為“事件觸發”的軟體模型,也是由執行緒在一旁候著,待特定事件發生時執行緒恢復運行並把它作為輸入數據加以處理。

以事件為核心的調度,則像設備和記憶體一樣,把執行緒虛擬機作為處理事件所需要的資源看待,當某事件需要處理時,分配或者創建一個執行緒虛擬機給該事件,並啟動該執行緒虛擬機處理事件。

在嵌入式領域,DJYOS要與非實時作業系統如linux、wince競爭,以及實時作業系統如vxworks、qnx等競爭。

DJYOS的目標,是改變中國無(有影響力的)作業系統局面,在不久的將來,世界上流行的作業系統中,有一個來自中國。

VxWorks

VxWorks是美國WindRiver公司的產品,是目前嵌入式系統領域中套用很廣泛,市場占有率比較高的嵌入式作業系統。

VxWorks實時作業系統由400多個相對獨立、短小精悍的目標模組組成,用戶可根據需要選擇適當的模組來裁剪和配置系統;提供基於優先權的任務調度、任務間同步與通信、中斷處理、定時器和記憶體管理等功能,內建符合POSIX(可移植作業系統接口)規範的記憶體管理,以及多處理器控制程式;並且具有簡明易懂的用戶接口,在核心方面甚至可以微縮到8 KB。

μC/OS-II

μC/OS-II是在μC-OS的基礎上發展起來的,是美國嵌入式系統專家Jean J.Labrosse用C語言編寫的一個結構小巧、搶占式的多任務實時核心。μC/OS-II能管理64個任務,並提供任務調度與管理、記憶體管理、任務間同步與通信、時間管理和中斷服務等功能,具有執行效率高、占用空間小、實時性能優良和可擴展性強等特點。

μClinux

μClinux是一種優秀的嵌入式Linux版本,其全稱為micro-control Linux,從字面意思看是指微控制Linux。同標準的Linux相比,μClinux的核心非常小,但是它仍然繼承了Linux作業系統的主要特性,包括良好的穩定性和移植性、強大的網路功能、出色的檔案系統支持、標準豐富的API,以及TCP/IP網路協定等。因為沒有MMU記憶體管理單元,所以其多任務的實現需要一定技巧。

eCos

eCos(embedded Configurable operating system),即嵌入式可配置作業系統。它是一個原始碼開放的可配置、可移植、面向深度嵌入式套用的實時作業系統。最大特點是配置靈活,採用模組化設計,核心部分由小同的組件構成,包括核心、C語言庫和底層運行包等。每個組件可提供大量的配置選項(實時核心也可作為可選配置),使用eCos提供的配置工具可以很方便地配置,並通過不同的配置使得eCos能夠滿足不同的嵌入式套用要求。

RTXC

RTXC是C語言的實時執行體(Real-Time eXecutive in C)的縮寫。它是一種靈活的、經過工業套用考驗的多任務實時核心,可以廣泛用於各種採用8/16位單片機、16/32位微處理器、DSP處理器的嵌入式套用場合。中國單片機公共實驗室“經過幾年的考察,認為比較適合中國的國情後,引入中國市場的”嵌入式實時多任務作業系統兩者之一。

相關詞條

相關搜尋

熱門詞條

聯絡我們