當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式軟件
[導(dǎo)讀] 當(dāng)前嵌入式系統(tǒng)已無(wú)所不在,應(yīng)用于各行各業(yè)。在嵌入式系統(tǒng)中,有一類(lèi)很重要的成員,即實(shí)時(shí)嵌入式系統(tǒng)。其中,WindRiver公司的 VxWorks是目前軟件工程師采用最多的,用于開(kāi)

 當(dāng)前嵌入式系統(tǒng)已無(wú)所不在,應(yīng)用于各行各業(yè)。在嵌入式系統(tǒng)中,有一類(lèi)很重要的成員,即實(shí)時(shí)嵌入式系統(tǒng)。其中,WindRiver公司的 VxWorks是目前軟件工程師采用最多的,用于開(kāi)發(fā)實(shí)時(shí)嵌入式系統(tǒng)的商用實(shí)時(shí)嵌入式操作系統(tǒng),以其可靠性及強(qiáng)大的工具支持著稱(chēng)。很多程序開(kāi)發(fā)人員由 Windows編程轉(zhuǎn)向嵌入式編程時(shí)感到困難,因?yàn)樵赪indows的API函數(shù)中有不少操作系統(tǒng)內(nèi)核機(jī)制都進(jìn)行了封裝(如信號(hào)量、消息等),往往不必了解這些概念,而優(yōu)秀的VxWorks編程者則需要更加了解與內(nèi)核相關(guān)的概念。下面通過(guò)現(xiàn)實(shí)生活中的一些事例進(jìn)行類(lèi)比來(lái)說(shuō)明這些概念,即使是初學(xué)者也能輕松領(lǐng)悟。

1 實(shí)時(shí)性與非實(shí)時(shí)性

VxWorks作為實(shí)時(shí)操作系統(tǒng),實(shí)時(shí)性指的是對(duì)外部事件的響應(yīng)在規(guī)定的時(shí)間內(nèi)完成。舉個(gè)工作中的例子,有一種情況:假如你的公司規(guī)定對(duì)客戶(hù)的投訴必須在當(dāng)天予以解決,因而當(dāng)接到投訴時(shí),你馬上去往客戶(hù)處交涉并解決問(wèn)題。另一種情況:公司在收到客戶(hù)投訴后,并不馬上解決,而是在一段時(shí)間后匯總并根據(jù)客戶(hù)所在地集中解決。第一種情況就好比實(shí)時(shí)系統(tǒng),在規(guī)定時(shí)間內(nèi)對(duì)外部事件進(jìn)行響應(yīng);第二種情況好比非實(shí)時(shí)系統(tǒng)。很可能出現(xiàn)的一種情形就是,剛解決好一個(gè)客戶(hù)的問(wèn)題后回公司,得知又一位同一地點(diǎn)的客戶(hù)要求你去,因此懊悔不已,接到投訴后不如不馬上行動(dòng)。同樣,非實(shí)時(shí)系統(tǒng)也需要付出額外的代價(jià),因此不能簡(jiǎn)單地說(shuō)哪種系統(tǒng)效率更高或性能更好。第一種公司制度更讓客戶(hù)滿(mǎn)意,因?yàn)樗茉谝?guī)定時(shí)間內(nèi)給客戶(hù)反饋,雖然效率不一定最高。具體選用哪一種管理制度應(yīng)該結(jié)合實(shí)際經(jīng)營(yíng)情況而定,同理,實(shí)時(shí)系統(tǒng)也有它適合的應(yīng)用。比如汽車(chē)控制設(shè)備、國(guó)防系統(tǒng)中,不在預(yù)定時(shí)間內(nèi)對(duì)外部隨機(jī)事件作出響應(yīng)是很不合理的;而在 Windows系統(tǒng)中,鼠標(biāo)點(diǎn)擊在系統(tǒng)繁忙時(shí)可能好幾秒才響應(yīng)過(guò)來(lái)。

2 多任務(wù)與單任務(wù)

多任務(wù)好比一個(gè)團(tuán)隊(duì)的多個(gè)人分工合作完成一項(xiàng)工作,而單任務(wù)則是一個(gè)人獨(dú)立完成一項(xiàng)工作。假如這項(xiàng)工作就是去郵局郵寄一份文件,那么一個(gè)人足以勝任,多個(gè)人反而顯得多余。假如這項(xiàng)工作包括去郵局郵寄文件,收取客戶(hù)Email并及時(shí)回復(fù),接聽(tīng)電話(huà),那么一個(gè)人就顯得雜亂無(wú)章,不能及時(shí)回復(fù)郵件,或錯(cuò)過(guò)電話(huà)。如果安排兩個(gè)人完成此項(xiàng)工作就容易得多,一人去郵寄文件,一人留單位接聽(tīng)電話(huà)并收取Email.從程序設(shè)計(jì)角度來(lái)說(shuō),單任務(wù)或多任務(wù)都沒(méi)有絕對(duì)優(yōu)勢(shì),因此應(yīng)用程序是采用何種任務(wù)劃分,需根據(jù)具體應(yīng)用而定。

還有一個(gè)問(wèn)題,畢竟CPU資源是固定的,如果同時(shí)運(yùn)行多個(gè)任務(wù),那么每個(gè)任務(wù)的處理能力都降低了,整體性能是否提高了呢?假如需要將兩個(gè)文件從 A地分別送往B地和C地,如圖1所示。一個(gè)行走速度極快的運(yùn)動(dòng)員從A地到B地需要10 min,交接文件需10 min,從B地返回A地需10 min,再?gòu)腁地到C地需15 min,交接文件需10 min,總共花費(fèi)55 min.而兩個(gè)行走較慢的人共同完成該任務(wù),一人從A地到B地需20 min,交接文件10 min,30 min完成;另一人從A地往C地需30 min,交接文件需10 min,總共也就40 min.交接文件時(shí)間越長(zhǎng),兩個(gè)人的優(yōu)勢(shì)越明顯。在程序中等待慢設(shè)備的應(yīng)答信號(hào)就是這種情況,不能將整個(gè)CPU的時(shí)間花費(fèi)在等待中。但假如任務(wù)就是將文件從A送到B,那么多個(gè)行走慢的人就不如一個(gè)速度快的人了。

3 信號(hào)量(semaphore)

VxWorks系統(tǒng)中,信號(hào)量包括互斥信號(hào)量、二進(jìn)制信號(hào)量和計(jì)數(shù)信號(hào)量,其他操作系統(tǒng)基本上也是如此。按作用劃分為同步和互斥機(jī)制。通過(guò)信號(hào)量的同步和互斥機(jī)制可以方便、高效地協(xié)調(diào)任務(wù)?;コ夥绞降墓δ苁遣煌蝿?wù)可以利用信號(hào)量互斥地訪(fǎng)問(wèn)臨界資源?,F(xiàn)實(shí)生活中也是如此,比如單位會(huì)議室只有一個(gè),可能有多個(gè)部門(mén)使用會(huì)議室,單位采取如下管理方式:使用前向負(fù)責(zé)人申請(qǐng),若會(huì)議室空閑就可以使用,會(huì)議結(jié)束后通知負(fù)責(zé)人;否則,等待負(fù)責(zé)人通知。這里的會(huì)議室就好比臨界資源,申請(qǐng)和通知這種方式就好比信號(hào)量的互斥機(jī)制,如圖2所示。

信號(hào)量的同步機(jī)制有所不同,提供的任務(wù)同步功能是指一個(gè)任務(wù)可以利用信號(hào)量控制自己的執(zhí)行進(jìn)度,使自己同步于一組外部事件。好比甲等待乙的電話(huà)再一起吃飯。甲接電話(huà)之前沒(méi)有任何行動(dòng),好比這個(gè)任務(wù)阻塞;接到電話(huà)好比獲取信號(hào)量(乙打電話(huà)好比釋放信號(hào)量);去吃飯就好比繼續(xù)執(zhí)行任務(wù)。

計(jì)數(shù)信號(hào)量與二進(jìn)制信號(hào)量都可以用于任務(wù)之間的同步與互斥,不同之處在于,計(jì)數(shù)信號(hào)量能夠記錄信號(hào)量釋放的次數(shù),可以用來(lái)監(jiān)視某一資源的使用狀況。好比存錢(qián)與消費(fèi):存入的金額計(jì)數(shù)累加(釋放信號(hào)量計(jì)數(shù)),消費(fèi)時(shí)金額減少(獲取信號(hào)量計(jì)數(shù)減少),只要金額不為零就還有消費(fèi)能力(信號(hào)量可用),金額為零就只能等待存入(獲取信號(hào)量但無(wú)信號(hào)量可用只能等待其他任務(wù)釋放信號(hào)量)。

4 消息機(jī)制

僅通過(guò)信號(hào)量的同步、互斥是無(wú)法提供完善的響應(yīng)式交互信息的。消息(message)機(jī)制通過(guò)消息隊(duì)列保存多個(gè)消息,一般來(lái)說(shuō),消息是按照 FIFO的順序通過(guò)消息隊(duì)列的。信號(hào)量好比是兩人相互約定,電話(huà)鈴響,不用接聽(tīng),直接出門(mén)迎接;而消息機(jī)制發(fā)送就是,接聽(tīng)電話(huà)并根據(jù)電話(huà)內(nèi)容執(zhí)行相應(yīng)操作。接聽(tīng)電話(huà)并根據(jù)電話(huà)內(nèi)容辦理相應(yīng)事情,比電話(huà)鈴響就按約定辦理事情多花費(fèi)時(shí)間,同樣,消息機(jī)制比信號(hào)量更耗費(fèi)時(shí)間;但接聽(tīng)電話(huà)后根據(jù)電話(huà)內(nèi)容辦事比前者更加靈活,適應(yīng)更多的場(chǎng)合,同樣,消息機(jī)制的使用比信號(hào)量更加靈活,并且電話(huà)內(nèi)容可以是臨時(shí)增加的,類(lèi)似消息內(nèi)容的可擴(kuò)展性。

5 信號(hào)

信號(hào)(signal)與信號(hào)量聽(tīng)起來(lái)很相似,其實(shí)是完全不同的兩種機(jī)制,一定需要明確區(qū)分。信號(hào)是一種由事件觸發(fā)的軟件中斷,它可以異步地改變信號(hào)接收任務(wù)的執(zhí)行流程,使其轉(zhuǎn)向?qū)?yīng)的信號(hào)處理程序執(zhí)行。即使該任務(wù)當(dāng)前處于阻塞狀態(tài),一旦接收信號(hào)后就會(huì)處于準(zhǔn)備執(zhí)行狀態(tài),但是當(dāng)信號(hào)處理程序執(zhí)行之后繼續(xù)處于阻塞狀態(tài)。舉個(gè)例子,上班時(shí)你可以隨意安排你的工作,就好比任務(wù)中程序的順序執(zhí)行;單位出現(xiàn)突發(fā)事件需要你立刻解決,當(dāng)前工作被打斷,就好比該任務(wù)接收到信號(hào),當(dāng)前程序被打斷;處理完突發(fā)事件后繼續(xù)工作,就好比信號(hào)處理程序執(zhí)行完返回原來(lái)被打斷的地方繼續(xù)執(zhí)行。這個(gè)突發(fā)事件就好比一個(gè)信號(hào),該信號(hào)影響的任務(wù)立刻跳轉(zhuǎn)到指定的程序;這個(gè)突發(fā)事件是隨機(jī)、不可預(yù)料的,就好比信號(hào)接收的不可預(yù)料性,在程序中信號(hào)機(jī)制常用于異常處理。不同于信號(hào)量用顯式語(yǔ)句表示何時(shí)需要獲取或釋放信號(hào)量,信號(hào)機(jī)制允許程序在任何地方被信號(hào)中斷而轉(zhuǎn)向相應(yīng)的處理程序。[!--empirenews.page--]

以上是對(duì)VxWorks操作系統(tǒng)一些相關(guān)概念的理解和總結(jié),在技術(shù)交流中很容易被接受,希望能分享給更多的朋友。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀(guān)點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車(chē)的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車(chē)技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車(chē)工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車(chē)。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車(chē) 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶(hù)希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱(chēng),數(shù)字世界的話(huà)語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱(chēng)"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉