VxWorks操作系統是美國WindRiver公司于1983年設計開發的一種嵌入式實時操作系統(RTOS),是嵌入式開發環境的關鍵組成部分。良好的持續發展能力、高性能的內核以及友好的用戶開發環境,在嵌入式實時操作系統領域占據一席之地。它以其良好的可靠性和卓越的實時性被廣泛地應用在通信、軍事、航空、航天等高精尖技術及實時性要求極高的領域中,如衛星通訊、軍事演習、彈道制導、飛機導航等。在美國的 F-16、FA-18 戰斗機、B-2 隱形轟炸機和愛國者導彈上,甚至連1997年4月在火星表面登陸的火星探測器上也使用到了VxWorks。
實時操作系統和分時操作系統的區別
從操作系統能否滿足實時性要求來區分,可把操作系統分成分時操作系統和實時操作系統。分時操作系統按照相等的時間片調度進程輪流運行,分時操作系統由調度程序自動計算進程的優先級,而不是由用戶控制進程的優先級。這樣的系統無法實時響應外部異步事件。實時操作系統能夠在限定的時間內執行完所規定的功能,并能在限定的時間內對外部的異步事件作出響應。 分時系統主要應用于科學計算和一般實時性要求不高的場合。實時性系統主要應用于過程控制、數據采集、通信、多媒體信息處理等對時間敏感的場合。
VxWorks的特點 :
可靠性
操作系統的用戶希望在一個工作穩定,可以信賴的環境中工作,所以操作系統的可靠性是用戶首先要考慮的問題。而穩定、可靠一直是VxWorks的一個突出優點。自從對中國的銷售解禁以來,VxWorks以其良好的可靠性在中國贏得了越來越多的用戶。
實時性
實時性是指能夠在限定時間內執行完規定的功能并對外部的異步事件作出響應的能力。實時性的強弱是以完成規定功能和作出響應時間的長短來衡量的。VxWorks 的實時性做得非常好,其系統本身的開銷很小,進程調度、進程間通信、中斷處理等系統公用程序精練而有效,它們造成的延遲很短。VxWorks 提供的多任務機制中對任務的控制采用了優先級搶占(Preemptive Priority Scheduling)和輪轉調度(Round-Robin Scheduling)機制,也充分保證了可靠的實時性,使同樣的硬件配置能滿足更強的實時性要求,為應用的開發留下更大的余地。
可裁減性
用戶在使用操作系統時,并不是操作系統中的每一個部件都要用到。例如圖形顯示、文件系統以及一些設備驅動在某些嵌入系統中往往并不使用。 VxWorks 由一個體積很小的內核及一些可以根據需要進行定制的系統模塊組成。VxWorks 內核最小為 8kB,即便加上其它必要模塊,所占用的空間也很小,且不失其實時、多任務的系統特征。由于它的高度靈活性,用戶可以很容易地對這一操作系統進行定制或作適當開發,來滿足自己的實際應用需要。
對一個實時內核的要求
一個實時操作系統內核需滿足許多特定的實時環境所提出的基本要求,這些包括:
多任務:由于真實世界的事件的異步性,能夠運行許多并發進程或任務是很重要的。多任務提供了一個較好的對真實世界的匹配,因為它允許對應于許多外部事件的多線程執行。系統內核分配CPU給這些任務來獲得并發性。
搶占調度:真實世界的事件具有繼承的優先級,在分配CPU的時候要注意到這些優先級。基于優先級的搶占調度,任務都被指定了優先級,在能夠執行的任務(沒有被掛起或正在等待資源)中,優先級最高的任務被分配CPU資源。換句話說,當一個高優先級的任務變為可執行態,它會立即搶占當前正在運行的較低優先級的任務。
任務間的通訊與同步:在一個實時系統中,可能有許多任務作為一個應用的一部分執行。系統必須提供這些任務間的快速且功能強大的通信機制。內核也要提供為了有效地共享不可搶占的資源或臨界區所需的同步機制。 任務與中斷之間的通信:盡管真實世界的事件通常作為中斷方式到來,但為了提供有效的排隊、優先化和減少中斷延時,我們通常希望在任務級處理相應的工作。所以需要雜任務級和中斷級之間存在通信。