硬實時系統,到底多硬才算Hard Real Time System


【本帖是安富萊電子原創貼】

RTOS三要素,實時性,可靠性,安全性。這次我們分享下實時系統中的硬實時性。

硬實時系統是必須在設置的截止時間內對環境中的事件做出反應的系統。


一、背景知識:

1、實時系統和非實時系統區別的幾個顯著特征:

(1)時間限制,每個任務都與一些些時間限制想關聯,一種常見的時間限制是與任務相關的最后期限。 指定任務必須截止時間內完成。
(2)安全可靠性,特別是在安全關鍵領域的應用。
(3)高實時並發性:實時系統通常需要在非常短和嚴格的時間范圍內響應多個獨立的事件。
(4)任務關鍵性:根據任務的不同安全等級和實時性要求,保證關鍵性任務得到及時執行並且可靠。

還有很多其它特性,就不一 一列舉了。

2、硬實時,強實時和軟實時

RTOS實時系統的特點是在設定截止時間內完成所需的操作,根據是否在這個時間內完成此操作分為如下三種:

Hard real time system 硬實時系統

在設置的截止時間內可完成相應功能的,如果完不成,系統會崩潰。

Firm real time system 強實時系統

強實時性比硬實時要求弱一些,如果在截止時間內完不成,系統不會崩潰,忽略這次執行。

Soft real time system 軟實時系統

軟實時比強實時弱一些,如果在截止時間內沒有完成,完全不受影響,繼續運行。


二、縱覽各種RTOS,哪家是硬實時系統

1、VxWorks:
https://www.windriver.com/products/vxworks

VxWorks官方描述:VxWorks is a deterministic, priority-based preemptive RTOS with low latency and minimal jitter :
VxWorks是確定性,基於優先級的搶占式RTOS,具有低延遲和最小抖動。

 

2、QNX:

https://blackberry.qnx.com/en

QNX官方描述:BlackBerry QNX delivers a time-tested real-time operating system (RTOS) QNX是久經考驗的RTOS,汽車級系統是QNX主戰場,全球市場份額也最大。



3、RTEMS

https://www.rtems.org/

RTEM官方描述:The Real-Time Executive for Multiprocessor Systems or RTEMS is an open source Real Time Operating System (RTOS) that supports open standard application programming interfaces (API) such as POSIX

面向多核處理器的實時執行系統或者支持標准編程接口如POSIX的開源實時操作系統。



4、ThreadX:

https://docs.microsoft.com/en-us/azure/rtos/threadx/overview-threadx

官方描述:Azure RTOS ThreadX is Microsoft's advanced industrial grade Real-Time Operating System (RTOS)

Azure RTOS ThreadX 是微軟 的高級工業級實時操作系統 (RTOS)。 它專為深度嵌入式、實時和物聯網應用而設計。



5、Green Hills:

https://www.ghs.com/products/rtos/integrity.html

綠色官方描述:INTEGRITY is a hard real-time operating system that never sacrifices real-time performance for security and protection. INTEGRITY can respond to events in nanoseconds, guaranteed

INTEGRITY 是一種硬實時操作系統,不以犧牲實時性能來保證安全和保護, INTEGRITY 可以保證在納秒內響應事件。

綠山有些話說的略絕對,之前SEGGER還發過博文吐槽過,比如這個:

Green Hills Software is the only safe RTOS vendor,唯一安全的RTOS供應商

https://www.ghs.com/WhyChooseGreenHills.html

 

三、舉例:

硬實時案例:

反導彈系統要求硬實時。反導彈系統由一系列硬實時任務組成。反導系統必須首先探測所有來襲導彈,正確定位反導炮,然后在導彈來襲之前將其摧毀。所有這些任務本質上都是硬實時的,如果反導彈系統有任何一個任務失敗都將無法成功攔截來襲導彈。

強實時案例:

ADC + DMA + TIM的雙緩沖數據采集並對數據做實時濾波分析。這種情況一般需要強實時處理,一個緩沖通過DMA存儲ADC數據期間,另一個緩沖的數據可以提取出來做分析,如果不能再緩沖填滿之前分析完,另一個緩沖數據將被覆蓋。

又比如DS18B20這種對時序要求比較高的,如果沒有在設置的時序內執行,讀取結果都是錯的,錯誤的數據我們丟棄即可,繼續下一輪讀取。

軟實時案例:

GUI類的應用都是軟實時的,有點延遲什么的並不影響,只是體驗稍差點。還有網頁瀏覽等。



最后留個小問題,歡迎交流,FPGA通過硬件邏輯實時系統是否是硬實時系統


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM