嵌入式實時操作系統
嵌入式實時操作系統
- ,簡().
件據產,夠足夠速予,規控制產程系統速響,控制務協調致運 嵌式操系統。
註:工業控制、軍事設備、航空航天等領域對系統的響應時間有苛刻的要求,這就需要使用 實時系統。我們常常說的 嵌入式操作系統都是嵌入式 實時操作系統。比如 μC/OS-II、eCOS和Linux、HOPEN OS。故對嵌入式 實時操作系統的理解應該建立在對 嵌入式系統的理解之上加入對響應時間的要求。
嵌入式系統是“C”(Devices used to control, monitor, or assist the operation of equipment, machinery or plants)。
註:IEEE是國際 電氣和電子工程師協會。
以應用為中心、以 計算機技術為基礎、軟體硬體可裁剪、功能、可靠性、成本、體積、功耗嚴格要求的專用 計算機系統。
隨著 計算機技術的迅速發展和晶元製造工藝的不斷進步,嵌入式系統的應用日益廣泛:從民用的電視、手機等電路設備到軍用的飛機、坦克等武器系統,到處都有嵌入式系統的身影。在 嵌入式系統的應用開發中,採用嵌入式 實時操作系統(簡稱RTOS)能夠支持多任務,使得程序開發更加容易,便於維護,同時能夠提高系統的穩定性和可靠性。這已逐漸成為 嵌入式系統開發的一個發展方向。
從1981年Ready System發展了世界上第1個商業嵌入式實時內核(VRTX32),到今天已經有近40年的歷史。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 是一款開源免費的硬實時嵌入式操作系統,開發團隊來自大連,主要針對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是一個嵌入式實時操作系統,沒有考慮在通用計算機/伺服器上與 windows、 linux、 unix競爭。
DJYOS操作系統是以事件為核心進行調度的,這種調度策略使程序員可以按人類認知事物的習慣而不是計算機的習慣來編程。
普通操作系統中,調度是以線程為核心的,事件被作為線程的數據,標榜為“事件觸發”的軟體模型,也是由線程在一旁候著,待特定事件發生時線程恢復運行並把它作為輸入數據加以處理。
以事件為核心的調度,則像設備和內存一樣,把線程虛擬機作為處理事件所需要的資源看待,當某事件需要處理時,分配或者創建一個線程虛擬機給該事件,並啟動該線程虛擬機處理事件。
在嵌入式領域, DJYOS要與非實時操作系統如 linux、 wince競爭,以及實時操作系統如 vxworks、 qnx等競爭。
DJYOS的目標,是改變中國無(有影響力的)操作系統局面,在不久的將來,世界上流行的操作系統中,有一個來自中國。
VxWorks是 美國WindRiver公司的產品,是目前 嵌入式系統領域中應用很廣泛,市場佔有率比較高的 嵌入式操作系統。
VxWorks 實時操作系統由400多個相對獨立、短小精悍的目標模塊組成,用戶可根據需要選擇適當的模塊來裁剪和配置系統;提供基於優先順序的任務調度、任務間同步與通信、中斷處理、定時器和 內存管理等功能,內建符合POSIX(可移植 操作系統介面)規範的內存管理,以及多處理器控制程序;並且具有簡明易懂的 用戶介面,在核心方面甚至可以微縮到8 KB。
μC/OS-II是在μC-OS的基礎上發展起來的,是 美國 嵌入式系統專家Jean J.Labrosse用C語言編寫的一個結構小巧、搶佔式的多任務實時內核。μC/OS-II能管理64個任務,並提供任務調度與管理、內存管理、任務間同步與通信、時間管理和中斷服務等功能,具有執行效率高、佔用空間小、實時性能優良和可擴展性強等特點。
μClinux是一種優秀的嵌入式 Linux版本,其全稱為micro-control Linux,從字面意思看是指微控制Linux。同標準的Linux相比,μClinux的內核非常小,但是它仍然繼承了 Linux操作系統的主要特性,包括良好的穩定性和移植性、強大的網路功能、出色的文件系統支持、標準豐富的API,以及 TCP/IP網路協議等。因為沒有MMU 內存管理單元,所以其多任務的實現需要一定技巧。
eCos(embedded Configurable operating system),即嵌入式可配置 操作系統。它是一個 源代碼開放的可配置、可移植、面向深度嵌入式應用的 實時操作系統。最大特點是配置靈活,採用 模塊化設計,核心部分由小同的組件構成,包括內核、C語言庫和底層運行包等。每個組件可提供大量的配置選項(實時內核也可作為可選配置),使用eCos提供的配置工具可以很方便地配置,並通過不同的配置使得eCos能夠滿足不同的嵌入式應用要求。
RTXC是C語言的實時執行體(Real-Time eXecutive in C)的縮寫。它是一種靈活的、經過工業應用考驗的多任務實時內核,可以廣泛用於各種採用8/16位 單片機、16/32位 微處理器、DSP處理器的嵌入式應用場合。中國單片機公共實驗室“經過幾年的考察,認為比較適合中國的國情后,引入 中國市場的”嵌入式 實時多任務操作系統兩者之一。