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