VxWorks系統(tǒng)概念妙喻_第1頁
免費預(yù)覽已結(jié)束,剩余3頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、vxworks系統(tǒng)概念妙喻當(dāng)前系統(tǒng)已無所不在,應(yīng)用于各行各業(yè)。在嵌入式系統(tǒng)中,有一類很重要的成員,即實時嵌入式系統(tǒng),其中,windriver公司的是目前軟件工程師采納最多的,用于開發(fā)實時嵌入式系統(tǒng)的商用實時嵌入式操作系統(tǒng),以其牢靠性及強大的工具支持著稱。無數(shù)程序開發(fā)人員由windows編程轉(zhuǎn)向嵌入式編程時感到困難,由于在windows的api函數(shù)中有不少操作系統(tǒng)內(nèi)核機制都舉行了封裝(如信號量、消息等),往往不必了解這些概念,而優(yōu)秀的vxworks編程者則需要越發(fā)了解與內(nèi)核相關(guān)的概念。下面通過現(xiàn)實生活中的一些事例舉行類比來解釋這些概念,即使是初學(xué)者也能輕松領(lǐng)會。1 實時性與非實時性vxworks

2、作為實時操作系統(tǒng),實時性指的是對外部大事的響應(yīng)在規(guī)定的時光內(nèi)完成。舉個工作中的例子,有一解決,因而當(dāng)接到投訴時,你馬上去往客戶處交涉并解決問題。另一種狀況:公司在收到客戶投訴后,并不馬上解決,而是在一段時光后匯總并按照客戶所在地集中解決。第一種狀況就好比實時系統(tǒng),在規(guī)定時光內(nèi)對外部大事舉行響應(yīng);其次種狀況好比非實時系統(tǒng)。很可能浮現(xiàn)的一種情形就是,剛解決好一個客戶的問題后回公司,得知又一位同一地點的客戶要求你去,因此后悔不已,接到投訴后不如不馬上行動。同樣,非實時系統(tǒng)也需要付出額外的代價,因此不能容易地說哪種系統(tǒng)效率更高或性能更好。第一種公司制度更讓客戶愜意,由于它能在規(guī)定時光內(nèi)給客戶反饋,雖然

3、效率不一定最高。詳細(xì)選用哪一種管理制度應(yīng)當(dāng)結(jié)合實際經(jīng)營狀況而定,同理,實時系統(tǒng)也有它適合的應(yīng)用。比如汽車控制設(shè)備、國防系統(tǒng)中,不在預(yù)定時光內(nèi)對外部隨機大事作出響應(yīng)是很不合理的;而在windows系統(tǒng)中,鼠標(biāo)點擊在系統(tǒng)繁忙時可能好幾秒才響應(yīng)過來。2 多任務(wù)與單任務(wù)多任務(wù)好比一個團隊的多個人分工合作完成一項工作,而單任務(wù)則是一個人自立完成一項工作。如果這項工作就是去郵局郵寄一份文件,那么一個人足以勝任,多個人反而顯得多余。如果這項工作包括去郵局郵寄文件,收取客戶email并準(zhǔn)時回復(fù),接聽電話,那么一個人就顯得雜亂無章,不能準(zhǔn)時回復(fù)郵件,或錯過電話。假如支配兩個人完成此項工作就簡單得多,一人去郵寄文

4、件,一人留單位接聽電話并收取email。從程序設(shè)計角度來說,單任務(wù)或多任務(wù)都沒有肯定優(yōu)勢,因此應(yīng)用程序是采納何種任務(wù)劃分,需按照詳細(xì)應(yīng)用而定。還有一個問題,究竟cpu資源是固定的,假如同時運行多個任務(wù),那么每個任務(wù)的處理能力都降低了,整體性能是否提高了呢?如果需要將兩個文件從a地分離送往b地和c地,1所示。一個行走速度極快的運動員從a地到b地需要10min,交接文件需10min,從b地返回a地需10min,再從a地到c地需15min,交接文件需10min,總共花費55min。而兩個行走較慢的人共同完成該任務(wù),一人從a地到b地需20min,交接文件10min,30min完成;另一人從a地往c地需

5、30min,交接文件需10min,總共也就40min。交接文件時光越長,兩個人的優(yōu)勢越顯然。在程序中等待慢設(shè)備的應(yīng)答信號就是這種狀況,不能將囫圇cpu的時光花費在等待中。但如果任務(wù)就是將文件從a送到b,那么多個行走慢的人就不如一個速度快的人了。3 信號量(semaphore)vxworks系統(tǒng)中,信號量包括可斥信號量、二進制信號量和計數(shù)信號量,其他操作系統(tǒng)基本上也是如此。按作用劃分為同步和互斥機制。通過信號量的同步和互斥機制可以便利、高斂地協(xié)調(diào)任務(wù)?;コ夥绞降墓δ苁遣煌蝿?wù)可以利用信號量互斥地拜訪臨界資源?,F(xiàn)實生活中也是如此,比如單位會議室惟獨一個,可能有多個部門用法會議室,單位實行如下管理方

6、式:用法前向負(fù)責(zé)人申請,若會議室空閑就可以用法,會議結(jié)束后通知負(fù)責(zé)人;否則,等待負(fù)責(zé)人通知。這里的會議室就好比臨界資源,申請和通知這種方式就好比信號量的互斥機制,2所示。信號量的同步機制有所不同,提供的任務(wù)同步功能是指一個任務(wù)可以利用信號量控制自己的執(zhí)行進度,使自己同步于一組外部大事。好比甲等待乙的電話再一起吃飯。甲接電話之前沒有任何行動,好比這個任務(wù)堵塞;接到電話好比獵取信號量(乙打電話好比釋放信號量);去吃飯就好比繼續(xù)執(zhí)行任務(wù)。計數(shù)信號量與二進制信號量都可以用于任務(wù)之間的同步與互斥,不同之處在于,計數(shù)信號量能夠記錄信號量釋放的次數(shù),可以用來監(jiān)視某一資源的用法情況。好比存錢與消費:存入的金額

7、計數(shù)累加(釋放信號量計數(shù)),消費時金額削減(獵取信號量計數(shù)削減),只要金額不為零就還有消費能力(信號量可用),金額為零就只能等待存入(獵取信號量但無信號量可用只能等待其他任務(wù)釋放信號量)。4 消息機制僅通過信號量的同步、互斥是無法提供完美的響應(yīng)式交互信息的。消息(message)機制通過消息隊列保存多個消息,普通來說,消息是根據(jù)fifo的挨次通過消息隊列的。信號量好比是兩人互相商定,電話鈴響,不用接聽,挺直出門迎接;而消息機制發(fā)送就是,接聽電話并按照電話內(nèi)容執(zhí)行相應(yīng)操作。接聽電話并按照電話內(nèi)容辦理相應(yīng)事情,比電話鈴響就按商定辦理事情多花費時光,同樣,消息機制比信號量更耗費時光;但接聽電話后按照

8、電話內(nèi)容辦事比前者越發(fā)靈便,適應(yīng)更多的場合,同樣,消息機制的用法比信號量越發(fā)靈便,并且電話內(nèi)容可以是暫時增強的,類似消息內(nèi)容的可擴展性。5 信 號信號(signal)與信號量聽起來很相像,其實是徹低不同的兩種機制,一定需要明確區(qū)別。信號是一種由大事觸發(fā)的軟件中斷,它可以異步地轉(zhuǎn)變信號接收任務(wù)的執(zhí)行流程,使其轉(zhuǎn)向?qū)?yīng)的信號處理程序執(zhí)行。即使該任務(wù)當(dāng)前處于堵塞狀態(tài),一旦接收信號后就會處于預(yù)備執(zhí)行狀態(tài),但是當(dāng)信號處理程序執(zhí)行之后繼續(xù)處于堵塞狀態(tài)。舉個例子,上班時你可以任意支配你的工作,就好比任務(wù)中程序的挨次執(zhí)行;單位浮現(xiàn)突發(fā)大事需要你立即解決,當(dāng)前工作被打斷,就好比該任務(wù)接收到信號,當(dāng)前程序被打斷;處理完突發(fā)大事后繼續(xù)工作,就好比信號處理程序執(zhí)行完返回本來被打斷的地方繼續(xù)執(zhí)行。這個突發(fā)大事就好比一個信號,該信號影響的任務(wù)立即跳轉(zhuǎn)到指定的程序;這個突發(fā)大事是隨機、不行預(yù)料的,就好比信號接收的不行預(yù)料性,在程序中

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論