LabVIEW 什么是實時操作系統(tǒng) (RTOS)?LabVIEW 什么是實時操作系統(tǒng) (RTOS)?LabVIEW 什么是實時操作系統(tǒng) (RTOS)?
一般而言,操作系統(tǒng)的任務(wù)是管理計算機的硬件資源和應(yīng)用程序。 實時操作系統(tǒng)會執(zhí)行這些任務(wù),但是運行時間精度和可靠度都*。 在實際應(yīng)用中,有的系統(tǒng)失常代價高昂,甚至會引起安全事故。這時,操作系統(tǒng)的時間精度和可靠度都顯得格外重要。
顧名思義,實時操作系統(tǒng)必須在已知的關(guān)鍵時間內(nèi)完成關(guān)鍵操作,至少要在大多數(shù)情況下在已知時間內(nèi)完成關(guān)鍵操作。 部分這類操作包括操作系統(tǒng)調(diào)用和中斷處理。 *在時間內(nèi)完成關(guān)鍵性操作的實時操作系統(tǒng),被稱為“硬實時”操作系統(tǒng)。大多數(shù)情況下能滿足在時間內(nèi)完成關(guān)鍵性操作的實時操作系統(tǒng),被稱為“軟實時”操作系統(tǒng)。 實際情況中,上述分類的指導(dǎo)意義有限。每個實時操作系統(tǒng)都有*的性能特征,用戶在決定使用某個實時操作系統(tǒng)之前需要仔細研究這些特征。
下面通過列子來幫助理解實時操作系統(tǒng)的概念。 假設(shè)您在為一款新車設(shè)計安全氣囊系統(tǒng)。 在該情況下,極小的時間誤差(太早或太遲)都會產(chǎn)生災(zāi)難性后果,甚至導(dǎo)致人員傷亡。 因此,需要一個硬實時系統(tǒng);在系統(tǒng)設(shè)計上要確保沒有任何操作的優(yōu)先級可以*于時間限制之上。 另一方面,如要設(shè)計一個接收流媒體手機,在保持大致不丟失流媒體數(shù)據(jù)的前提下可以偶爾遺失少量數(shù)據(jù)。 在這種應(yīng)用中,一個軟實時操作系統(tǒng)就可滿足要求。
如果編程合理,實時操作系統(tǒng)可保證程序運行在時間上的穩(wěn)定可靠性。 實時操作系統(tǒng)向用戶提供任務(wù)優(yōu)先級排序的高度控制權(quán),也通常會允許用戶檢查任務(wù)執(zhí)行是否符合時間上設(shè)定的要求。
與實時操作系統(tǒng)相比,個人電腦上zui常見的操作系統(tǒng)稱為通用操作系統(tǒng),例如,Windows。 下面將詳盡闡述實時操作系統(tǒng)和通用操作系統(tǒng)的區(qū)別。在此之前,要先了解兩種操作系統(tǒng)的優(yōu)劣。 Windows等操作系統(tǒng)通過運行多個程序和服務(wù)來維持對用戶操作的響應(yīng),實時操作系統(tǒng)通過精確和可靠度定時機制(關(guān)注編程人員設(shè)定的優(yōu)先級)來運行關(guān)鍵性應(yīng)用程序。
重要的術(shù)語和概念
確定性:運行在實時操作系統(tǒng)上的應(yīng)用程序(或應(yīng)用程序的關(guān)鍵性片段),如能保證時間精度,就認為是確定性的程序。
軟實時和硬實時:完*保證時間精度的操作系統(tǒng),稱為硬實時操作系統(tǒng)。 多數(shù)情況下能保證時間精度的操作系統(tǒng),稱為軟實時操作系統(tǒng)。
抖動:程序開始時,*循環(huán)相對于后續(xù)循環(huán)在時間上的差異,稱為抖動。 實時操作系統(tǒng)可確保在編程合理的情況下,抖動為zui小水平;任務(wù)*執(zhí)行與后續(xù)循環(huán)執(zhí)行所用的時間非常接近。
圖1:抖動指一次任務(wù)執(zhí)行和后續(xù)任務(wù)執(zhí)行之間在時間上的差異。 實時操作系統(tǒng)通過各種優(yōu)化方式使抖動zui小化。
至頁首
2. 實時應(yīng)用程序范例
實時操作系統(tǒng)用于兩類應(yīng)用:事件響應(yīng)和閉環(huán)控制。 事件響應(yīng)類應(yīng)用需要在的時間內(nèi)對外界觸發(fā)條件作出響應(yīng)。例如,生產(chǎn)線上自動視覺模式識別。 在視覺識別系統(tǒng)中,必須在生產(chǎn)線移動之前對待測部分進行拍照和分析。
對運行在硬實時操作系統(tǒng)上的程序進行嚴格的設(shè)計和調(diào)試之后,在事件響應(yīng)上工作的設(shè)計人員可保證響應(yīng)的確定性(在時間內(nèi)發(fā)生)。 在視覺識別案例中,使用通用操作系統(tǒng)可能會導(dǎo)致無法及時檢測待測部分,從而降低生產(chǎn)線速度、強制報廢待測品,甚至交付潛在的次品。
在閉環(huán)控制系統(tǒng)中,例如,汽車巡航控制系統(tǒng)會連續(xù)處理反饋數(shù)據(jù),調(diào)整輸出。 因為輸出數(shù)據(jù)取決于是否能在時間內(nèi)處理完輸入數(shù)據(jù)。在時間內(nèi)完成任務(wù)至為重要,只有這樣才能有正確的輸出。 如果巡航系統(tǒng)無法在給定時間點上判斷合適的油門設(shè)置,會發(fā)生什么情況? 硬實時系統(tǒng)可保證在時間內(nèi)及時處理控制系統(tǒng)的輸入數(shù)據(jù)。
還必須指出,很多程序必須運行多個周期后才能充分體現(xiàn)實時操作系統(tǒng)的可靠性。 與通用操作系統(tǒng)同時處理多個程序和進程不同,實時操作系統(tǒng)上只有少量程序運行。實時操作系統(tǒng)適用于宕機代價高昂的全天候系統(tǒng)。
如要在項目中使用實時操作系統(tǒng),請查看我是否需要實時系統(tǒng)?
至頁首
3. 探究事實:實時操作系統(tǒng)與通用操作系統(tǒng)有哪些不同之處
Windows、Mac OS等操作系統(tǒng)是開發(fā)和運行非實時測量和控制應(yīng)用程序的優(yōu)秀平臺。 這些操作系統(tǒng)使用于實時操作系統(tǒng)之外的使用場合。對于要求精確定時和長時間穩(wěn)定運行的系統(tǒng)而言,通用操作系統(tǒng)不是理想的平臺。 下面將闡述兩種操作系統(tǒng)之間的區(qū)別,以及編寫實時應(yīng)用程序時的注意事項。
設(shè)置優(yōu)先級
編寫應(yīng)用程序時,大多數(shù)操作系統(tǒng)都允許程序員應(yīng)用程序的總體優(yōu)先級,以及應(yīng)用程序中不同任務(wù)(線程)的優(yōu)先級。 這些優(yōu)先級設(shè)置將程序和任務(wù)的重要性告知操作系統(tǒng)。 如兩個任務(wù)同時運行,操作系統(tǒng)將優(yōu)先運行優(yōu)先級設(shè)置較高的任務(wù)。
在實際應(yīng)用中,通用操作系統(tǒng)不會始終嚴格按照程序設(shè)置的優(yōu)先級執(zhí)行。 因為通用操作系統(tǒng)可同時運行多個應(yīng)用程序和進程,所有任務(wù)都會被分配到一些處理時間。 在某些情況下,低優(yōu)先級任務(wù)的臨時優(yōu)先級可能會比高優(yōu)先級任務(wù)更高。 這樣,每個任務(wù)都會分配到一定的運行時間。這會違背程序設(shè)計人員的設(shè)計初衷。
實時操作系統(tǒng)可嚴格按照程序員設(shè)置的優(yōu)先級執(zhí)行程序。 在多數(shù)實時操作系統(tǒng)上,如果一個高優(yōu)先級任務(wù)占用率*的處理器資源,低優(yōu)先級任務(wù)將一直等待直到高優(yōu)先級任務(wù)完成。 因此,設(shè)計實時應(yīng)用程序時,必須謹慎、合理設(shè)置優(yōu)先級。 在一個典型的實時應(yīng)用程序中,設(shè)計者應(yīng)該將實時代碼放置在高優(yōu)先級的部分。 寫入磁盤、網(wǎng)絡(luò)通信等較低優(yōu)先級的代碼應(yīng)該放在較低優(yōu)先級的部分。
中斷延遲
設(shè)備生成一個中斷和設(shè)備中斷發(fā)生之間的時間,稱為中斷延遲。 通用操作系統(tǒng)響應(yīng)中斷需要的時間不固定,實時操作系統(tǒng)必須確保在一個固定的時間內(nèi)響應(yīng)中斷。 也就是說,實時操作系統(tǒng)的延遲必須是已知的固定的值。
性能
一個常見的誤解是實時操作系統(tǒng)的性能高于通用操作系統(tǒng)。 在某些情況下,因為不需要在多個應(yīng)用程序和服務(wù)之間進行多任務(wù)操作,實時操作系統(tǒng)的性能更好。這并不是的規(guī)律。 實際應(yīng)用程序的性能取決于CPU主頻、內(nèi)存架構(gòu)、程序特征,等等。
即使實時操作系統(tǒng)對執(zhí)行速度沒有直接影響,但是它與通用操作系統(tǒng)相比具有更精確和更可靠的時間特性。
我們開業(yè)語言以LabVIEW為主,在硬件選型方面也積累了豐富的經(jīng)驗,同時我們也具備獨立的硬件開發(fā)及機械設(shè)計與加工能力,可以制作、加工非標設(shè)備,滿足個性化的需求。"術(shù)業(yè)有專攻",每個人都有自己zui擅長的領(lǐng)域。把這些工作交給我們,使您有精力做科研,這應(yīng)該是一個雙贏的局面。
服務(wù)領(lǐng)域涵蓋:
LabVIEW 編程 開發(fā)
LabVIEW作為圖形化編程語言,近幾年發(fā)展迅速,它具備開發(fā)快、可靠性高等特點,非常適合測控領(lǐng)域的應(yīng)用。在該領(lǐng)域我們已經(jīng)有十年的開發(fā)經(jīng)驗,合作用戶涉及科研、國防、外企、大中小型各類企業(yè)。服務(wù)領(lǐng)域遍布自動測控系統(tǒng)眾多領(lǐng)域,包括航空航天、汽車產(chǎn)品測試、工業(yè)自動化、故障診斷、圖像處理等。
非標設(shè)備研制
在系統(tǒng)開發(fā)過程中,購買不到的配件、電路板等產(chǎn)品,我們也可以進行研制開發(fā),為您提供一站式的服務(wù)。
系統(tǒng)集成
為自動化測試提供完整的解決方案。我們從設(shè)備選擇、采購、安裝、調(diào)試、控制、到配套產(chǎn)品的研制,涵蓋您科研生產(chǎn)的全過程。讓您全身心的投入到核心工作中來,減輕您的工作壓力,提升工作效率。
產(chǎn)品合作開發(fā)
如果您那有具有市場潛力的好產(chǎn)品、好創(chuàng)意,我們也愿意與您一起合作開發(fā)。在這方面我們也具備了一定的基礎(chǔ),例如工業(yè)*/呼吸模擬器/人工肺,勞保測試產(chǎn)品"防塵測試儀"已經(jīng)成功推向了市場。成熟的技術(shù)+有潛力的市場,一直是我們追求的目標。如果您有好的創(chuàng)意,或者現(xiàn)有的產(chǎn)品需要升級推廣,也歡迎與我們。
王