嵌入式實時操做系統RTOS裏實時的衡量指標究竟是什麼呢?1s確定達不到實時,那須要多快呢?100ms,10ms,1ms,仍是100us,10us?git
還有這些指標是如何測量的呢?github
一篇論文中關於1553B總線消息週期實時性的指標,從這個例子中能夠看出,對於windows這種非實時操做系統而言,10ms的精度也很難保證。所以,實時性指標要求任務須要至少知足10ms的指標,甚至更高。express
韓春慧,王煜,黃書華,許權,張珅,魯月林. 基於BM3803的1553B總線通訊軟件設計 [J]. 中國空間科學技術, 2019,39(234), 05 65-72.windows
論文中須要完成的1553總線測試終端的消息的週期數值誤差較爲嚴格,測試
對於任務1廣播時間碼,週期爲1s,週期誤差不能超過100us,spa
對於任務7系統同步,週期爲2s,週期誤差不能超過10 000us=10ms,以下圖所示。操作系統
若是使用傳統的windows+1553B-PCI板卡方案的話,不能保證以上的精度;因此,論文使用了嵌入式實時操做系統的方案,BM3803+uCOS+61580,該系統能夠知足上圖的精度。設計
下表爲實際測試結果,對於任務1,採用嵌入式實時操做系統方案,週期精確度誤差平均爲8us,而採用windows方案則高達13ms,超過了100us=0.1ms的精度要求。orm
其它任務的週期精度要求均爲10ms之內,對於嵌入式實時操做系統方案,週期精度平均1.5ms,而windows則爲15ms,超過了精度要求。blog
論文
連接:https://pan.baidu.com/s/15P6VCZqdieAlSH9Mq8anmg
提取碼:o1vq
expresslogic有一個文檔Measuring RTOS Real-Time Performance,其中描述了實時性的各類指標,最後,介紹了其RTOS實時性測量軟件。
https://rtos.com/wp-content/uploads/2017/10/EL_Measuring_RTOS_Real-Time_Performance.pdf
主要分爲兩部分,
一是中斷處理實時性,主要包括如下步驟:
(1)中斷當前正在執行的任務,
(2)保存當前任務上下文,
(3)開始執行中斷服務程序ISR,
(4)ISR中進行一些處理,以肯定須要採起的動做,
(5)保存一些中斷相關的關鍵數據,
(6)設置一些必須的輸出,
(7)肯定該執行哪一個任務(通常中斷到來以後,須要的處理會比較多,通常中斷中會處理必須的事情,剩下的處理由某個任務來處理)
(8)清除中斷狀態寄存器,
(9)將控制轉移到要執行的任務。
二是系統服務實時性,包括
(1)在某個事件發生時調度一個任務執行,
(2)任務之間傳遞消息(消息隊列),
(3)申明公共資源三方面(信號量等)。
TNKernel-RX/Thread-Metric/,某個操做系統使用了Thread Metric
源代碼:https://github.com/msalau/TNKernel-RX/tree/master/Thread-Metric
pdf連接:https://pan.baidu.com/s/1pJH2azMJb8QNmYZwXUQpFA 提取碼:t421