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