www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 嵌入式 > 嵌入式硬件
[導(dǎo)讀]本文分析了適用于測控領(lǐng)域的4種實時操作系統(tǒng),并對比了它們實時性能的重要指標,歸納了實時性設(shè)計和實現(xiàn)中的若干問題。

摘 要: 本文分析了適用于測控領(lǐng)域的4種實時操作系統(tǒng),并對比了它們實時性能的重要指標,歸納了實時性設(shè)計和實現(xiàn)中的若干問題。

引言

20世紀70年代以來嵌入式系統(tǒng)的硬件和軟件技術(shù)的飛速進步,使得嵌入式應(yīng)用得到了蓬勃發(fā)展,在這些應(yīng)用中實時操作系統(tǒng)起著決定性的作用。

在復(fù)雜測控應(yīng)用中,必須使用對實時性要求非常高的實時操作系統(tǒng)。例如在工業(yè)控制、交通管理、機器人、航空航天、武器裝備等領(lǐng)域,系統(tǒng)事件的響應(yīng)如果不能準時或超時,就可能導(dǎo)致巨大的損失和災(zāi)難。因而,選擇操作系統(tǒng)時,對實時性的仔細考慮至關(guān)重要。本文從實時性的角度細致的分析對比了適用于此類有苛刻實時性要求的4種操作系統(tǒng)——VxWorks、mC/OS-II、RT-Linux、QNX,為系統(tǒng)選型提供一定參考。

實時性能主要實現(xiàn)技術(shù)

實時操作系統(tǒng)的實時性是第一要求,需要調(diào)度一切可利用的資源完成實時任務(wù)。根據(jù)響應(yīng)時間在微秒、毫秒和秒級的不同,可分為強實時、準實時和弱實時三種。強實時系統(tǒng)必須是對即時的事件作出反應(yīng),絕對不能錯過事件處理時限。例如測控領(lǐng)域就是要求強或接近強實時系統(tǒng)。在機頂盒、PDA、信息家電等應(yīng)用領(lǐng)域,系統(tǒng)負荷較重的時候,允許發(fā)生錯過時限的情況而且不會造成太大的危害,準和弱實時系統(tǒng)就可滿足應(yīng)用。一個強實時的操作系統(tǒng)通常使用以下技術(shù):

● 占先式內(nèi)核

當系統(tǒng)時間響應(yīng)很重要時,要使用占先式內(nèi)核。當前最高優(yōu)先級的任務(wù)一旦就緒,總能立即得到CPU的控制權(quán),而CPU的控制權(quán)是可知的。使用占先式內(nèi)核使得任務(wù)級響應(yīng)時間得以最優(yōu)化。

● 調(diào)度策略分析

任務(wù)調(diào)度策略是直接影響實時性能的因素。強實時系統(tǒng)和準實時系統(tǒng)的實現(xiàn)區(qū)別主要在選擇調(diào)度算法上。選擇基于優(yōu)先級調(diào)度的算法足以滿足準實時系統(tǒng)的要求,而且可以提供高速的響應(yīng)和大的系統(tǒng)吞吐率。當兩個或兩個以上任務(wù)有同樣優(yōu)先級,通常用時間片輪轉(zhuǎn)法進行調(diào)度。對硬實時系統(tǒng)而言,需要使用的算法就應(yīng)該是調(diào)度方式簡單,反應(yīng)速度快的實時調(diào)度算法了。盡管調(diào)度算法多種多樣,但大多由單一比率調(diào)度算法(RMS)和最早期限優(yōu)先算法(EDF)變化而來。前者主要用于靜態(tài)周期任務(wù)的調(diào)度,后者主要用于動態(tài)調(diào)度,在不同的系統(tǒng)狀態(tài)下兩種算法各有優(yōu)劣。在商業(yè)產(chǎn)品中采用的實際策略常常是各種因素的折中。

● 任務(wù)優(yōu)先級分配

每個任務(wù)都有其優(yōu)先級。任務(wù)越重要,賦予的優(yōu)先級應(yīng)越高。應(yīng)用程序執(zhí)行過程中諸任務(wù)優(yōu)先級不變,則稱之為靜態(tài)優(yōu)先級。在靜態(tài)優(yōu)先級系統(tǒng)中,諸任務(wù)以及它們的時間約束在程序編譯時是已知的。反之,應(yīng)用程序執(zhí)行過程中,任務(wù)的優(yōu)先級是可變的,則稱之為動態(tài)優(yōu)先級。

● 時間的可確定性

強實時操作系統(tǒng)的函數(shù)調(diào)用與服務(wù)的執(zhí)行時間應(yīng)具有可確定性。系統(tǒng)服務(wù)的執(zhí)行時間不依賴于應(yīng)用程序任務(wù)的多少。系統(tǒng)完成某個確定任務(wù)的時間是可預(yù)測的。

實時性能重要指標

衡量實時操作系統(tǒng)實時性能的重要指標有:

● 任務(wù)切換時間

當多任務(wù)內(nèi)核決定運行另外的任務(wù)時,它把正在運行任務(wù)的當前狀態(tài)(即CPU寄存器中的全部內(nèi)容)保存到任務(wù)自己的棧區(qū)之中。然后把下一個將要運行的任務(wù)的當前狀態(tài)從該任務(wù)的棧中重新裝入CPU的寄存器,并開始下一個任務(wù)的運行。這個過程就稱為任務(wù)切換。做任務(wù)切換所需要的時間取決于CPU有多少寄存器要入棧。CPU的寄存器越多,額外負荷就越重。

● 中斷響應(yīng)時間(可屏蔽中斷)

計算機接收到中斷信號到操作系統(tǒng)作出響應(yīng),并完成切換轉(zhuǎn)入中斷服務(wù)程序的時間。對于占先式內(nèi)核,要先調(diào)用一個特定的函數(shù),該函數(shù)通知內(nèi)核即將進行中斷服務(wù),使得內(nèi)核可以跟蹤中斷的嵌套。占先式內(nèi)核的中斷響應(yīng)時間由下式給出:

中斷響應(yīng)時間=關(guān)中斷的最長時間
+保護CPU內(nèi)部寄存器的時間
+進入中斷服務(wù)函數(shù)的執(zhí)行時間
+開始執(zhí)行中斷服務(wù)例程(ISR)的第一條指令時間

中斷響應(yīng)時間是系統(tǒng)在最壞情況下響應(yīng)中斷的時間,某系統(tǒng)100次中有99次在50ms之內(nèi)響應(yīng)中斷,只有一次響應(yīng)中斷的時間是250ms,只能認為中斷響應(yīng)時間是250ms。

表2列出了部分體現(xiàn)實時性能重要指標的典型值,它們的測試平臺和測試方法不完全相同,影響了數(shù)據(jù)的可比性,但我們?nèi)钥勺鳛閰⒖肌?br />
另外,還有系統(tǒng)響應(yīng)時間(系統(tǒng)發(fā)出處理要求到系統(tǒng)給出應(yīng)答信號的時間)、最長關(guān)中斷時間、非屏蔽中斷響應(yīng)時間等輔助的衡量指標。

若干問題

雖然當今的實時操作系統(tǒng)已日臻完善,但仍有一些問題存在并干擾著強實時的實現(xiàn)。我們應(yīng)充分的重視,并通過合理的安排程序減少它們的危害。

● 優(yōu)先級反轉(zhuǎn)

這是實時系統(tǒng)中出現(xiàn)得最多的問題。優(yōu)先級反轉(zhuǎn)是指一個任務(wù)等待比它優(yōu)先級低的任務(wù)釋放資源而被阻塞,如果這時有中等優(yōu)先級的就緒任務(wù),阻塞會進一步惡化。它嚴重影響了實時任務(wù)的完成。

為防止發(fā)生優(yōu)先級反轉(zhuǎn),一些商業(yè)內(nèi)核(如VxWorks)使用了優(yōu)先級繼承技術(shù),當優(yōu)先級反轉(zhuǎn)發(fā)生時,優(yōu)先級較低的任務(wù)被暫時地提高它的優(yōu)先級,使得該任務(wù)能盡快執(zhí)行,釋放出優(yōu)先級較高的任務(wù)所需要的資源。但它也不能完全避免優(yōu)先級反轉(zhuǎn),只能稱其減輕了優(yōu)先級反轉(zhuǎn)的程度,減輕了優(yōu)先級反轉(zhuǎn)對實時任務(wù)完成的影響。

優(yōu)先權(quán)極限是另一種解決方案,系統(tǒng)把每一個臨界資源與1個極限優(yōu)先權(quán)相聯(lián)系,這個極限優(yōu)先權(quán)等于系統(tǒng)此時最高優(yōu)先權(quán)加1。當這個任務(wù)退出臨界區(qū)后,系統(tǒng)立即把它的優(yōu)先權(quán)恢復(fù)正常,從而保證系統(tǒng)不會出現(xiàn)優(yōu)先權(quán)反轉(zhuǎn)的情況。采用這種方案的另一個有利之處,是僅僅通過改變某個臨界資源的優(yōu)先級就可以使多個任務(wù)共享這個臨界資源。

● 任務(wù)執(zhí)行時間的抖動

各種實時內(nèi)核都有將任務(wù)延時若干個時鐘節(jié)拍的功能。優(yōu)先級的不同、延時請求發(fā)生的時間、發(fā)出延時請求的任務(wù)自身的運行延遲,都會造成被延時任務(wù)執(zhí)行時間不同程度的提前或滯后,稱之為任務(wù)執(zhí)行時間的抖動。可能的解決方案有:a. 增加微處理器的時鐘頻和時鐘節(jié)拍的頻率;b. 重新安排任務(wù)的優(yōu)先級;c. 避免使用浮點運算等。

強實時系統(tǒng)中,我們必須綜合考慮,充分利用各種手段,盡量減少任務(wù)執(zhí)行時間的抖動。

● 任務(wù)劃分

程序在CPU中是以任務(wù)的方式在運行,所以我們要將系統(tǒng)的處理框圖轉(zhuǎn)化為多任務(wù)流程圖,對處理進行任務(wù)劃分。任務(wù)劃分存在這樣一對矛盾:如果任務(wù)太多,必然增加系統(tǒng)任務(wù)切換的開銷;如果任務(wù)太少,系統(tǒng)的并行度就降低了,實時性就比較差。在任務(wù)劃分時要遵循H.Gomma原則:
a. I/O原則:不同的外設(shè)執(zhí)行不同任務(wù);
b. 優(yōu)先級原則:不同優(yōu)先級處理不同的任務(wù);
c. 大量運算:歸為一個任務(wù);
d. 功能耦合:歸為一個任務(wù);
e. 偶然耦合:歸為一個任務(wù);
f. 頻率組合:對于周期時間,不同任務(wù)處理不同的頻率。
如果我們在具體分析一個系統(tǒng)的時候發(fā)生原則沖突的話,則要為每一個原則針對具體的系統(tǒng)設(shè)定“權(quán)重”,必要的時候可以通過計算“權(quán)重”來最終確定如何去劃分任務(wù)。

總結(jié)

VxWorks、mC/OS-II、RT-Linux、QNX都是優(yōu)秀的強實時操作系統(tǒng),各有特色:VxWorks的衡量指標值最好;mC/OS-II最短小精悍;RT-Linux支持調(diào)度策略的改寫;QNX支持分布式應(yīng)用。當我們充分理解和掌握它們實現(xiàn)技術(shù)、衡量指標的不同,注意所存在的問題,就能在實時性應(yīng)用中游刃有余。

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

為增進大家對嵌入式的認識,本文將對嵌入式開發(fā)以及學習嵌入式需要注意的事項予以介紹。

關(guān)鍵字: 嵌入式 指數(shù) 嵌入式開發(fā)

中國上海,2025年4月7日 — 全球領(lǐng)先的嵌入式系統(tǒng)開發(fā)軟件解決方案供應(yīng)商IAR正式發(fā)布全新云就緒平臺,為嵌入式開發(fā)團隊提供企業(yè)級的可擴展性、安全性和自動化能力。該平臺于在德國紐倫堡舉辦的embedded world...

關(guān)鍵字: 自動化 嵌入式開發(fā) RISC-V

在嵌入式系統(tǒng)開發(fā)領(lǐng)域,VS Code(Visual Studio Code)作為一款輕量級但功能強大的代碼編輯器,正逐漸成為開發(fā)者的首選工具。本文將詳細介紹如何在VS Code上搭建嵌入式開發(fā)環(huán)境,并分享一些調(diào)試技巧。

關(guān)鍵字: VS Code 嵌入式開發(fā)

隨著汽車電子化、智能化程度的不斷提高,車載以太網(wǎng)(Automotive Ethernet)作為新一代車載網(wǎng)絡(luò)通信技術(shù),正逐漸成為汽車內(nèi)部通信的主干網(wǎng)絡(luò)。它以其高帶寬、低延遲和強抗干擾能力,為汽車提供了更加高效、可靠的數(shù)據(jù)...

關(guān)鍵字: 車載以太網(wǎng) 嵌入式開發(fā)

隨著物聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,嵌入式系統(tǒng)對實時性、低功耗和可擴展性的要求越來越高。Zephyr RTOS(實時操作系統(tǒng))作為一款專為資源受限設(shè)備設(shè)計的開源RTOS,憑借其輕量級、模塊化和高可擴展性,在嵌入式開發(fā)領(lǐng)域得到了廣泛...

關(guān)鍵字: 嵌入式開發(fā) Zephyr RTOS 物聯(lián)網(wǎng)

嵌入式開發(fā),作為電子工程和計算機科學交叉領(lǐng)域的重要分支,對于構(gòu)建穩(wěn)定、高效的軟件系統(tǒng)提出了獨特挑戰(zhàn)。本文將深入探討嵌入式開發(fā)的可靠方法論,結(jié)合實例與代碼,為開發(fā)者提供一套系統(tǒng)化的指導(dǎo)原則。

關(guān)鍵字: 嵌入式開發(fā) 計算機科學

嵌入式開發(fā),作為電子工程和計算機科學的交匯點,對軟件系統(tǒng)的穩(wěn)定性和效率提出了極高的要求。本文將結(jié)合具體案例,深入探討嵌入式開發(fā)中的可靠方法論,為開發(fā)者提供一套系統(tǒng)化的指導(dǎo)原則。

關(guān)鍵字: 嵌入式開發(fā) 智能家居

在科技日新月異的今天,嵌入式開發(fā)作為連接硬件與軟件的橋梁,在物聯(lián)網(wǎng)、智能設(shè)備、工業(yè)自動化等領(lǐng)域扮演著至關(guān)重要的角色。對于許多技術(shù)愛好者而言,自學嵌入式開發(fā)既是一個充滿魅力的挑戰(zhàn),也是一條通往創(chuàng)新實踐的必由之路。然而,這條...

關(guān)鍵字: 嵌入式開發(fā) 物聯(lián)網(wǎng)

在科技日新月異的今天,嵌入式開發(fā)與Java開發(fā)作為軟件開發(fā)領(lǐng)域的兩大重要分支,各自展現(xiàn)出了獨特的發(fā)展軌跡和市場前景。近年來,關(guān)于嵌入式開發(fā)是否會像Java開發(fā)一樣“卷”的討論日益增多,這背后既反映了市場對技術(shù)趨勢的敏銳洞...

關(guān)鍵字: 嵌入式開發(fā) Java開發(fā)

現(xiàn)在在嵌入式開發(fā)MCU中,八塊MCU仍占據(jù)三分之一以上的份額,在工業(yè)控制,安全,物聯(lián)網(wǎng),消費電子等諸多領(lǐng)域,八塊MCU依然隨處可見。

關(guān)鍵字: 嵌入式開發(fā) MCU
關(guān)閉