2014-04-01 46 views
1

關於RTOS的閱讀,「硬」RTOS的特點是它可以確定性地確定最後期限,但我們如何測試或證明系統實際滿足要求?保持最後期限的最佳系統測試是什麼?

MicroC/OS II RTOS的特點是硬RTOS,但我如何驗證該聲明?如果我的FPGA有一些C代碼和ISR,它們可以運行C程序並在信號量與RTOS類似的線程之間切換上下文,我怎麼知道OS/RTOS是「硬」還是「軟」RTOS?

它可以取決於應用程序,並且必須有定時器,因此使用內置硬件定時器(例如Altera DE2具有50 Mhz振盪器)和硬件中斷是首選,然後我們只測試線程和進程是否可以根據截止日期安排,然後我們檢查截止日期是否滿足?

還是有什麼必須包括在操作系統,實時操作系統,以及硬和軟RTOS之間的區別?

是否有一些「典型測試」,對標籤「硬RTOS」的典型要求?

+0

雖然它不回答你的問題,但值得研究:http://stackoverflow.com/questions/22241264/what-makes-a-kernel-os-real-time – brokenfoot

回答

5

很難回答這個問題,因爲你的前提是錯誤的。

列爲實時的系統是從實時系統可分辨僅通過錯過最後期限的嚴重性。在硬RT中,錯過的最後期限被歸類爲系統故障,這可能會或可能不會對硬件和人員造成傷害,而軟實時通常意味着錯過的最後期限只會降低系統性能,但不會導致系統性能下降。

硬RT系統的一個典型例子是關閉過熱系統的監督人 - 如果系統未能達到最終期限,系統就會中斷。此外,發電廠或飛機上的一般安全相關係統屬於這一類。 一個軟RT實例將是視頻流,其中錯過的截止日期會導致視覺質量下降或口吃,但不一定會導致系統故障。

長話短說,硬和軟RT是完整軟件系統的特徵,以其規格和故障模型來衡量。因此,通常情況下,它是在操作系統上運行的應用程序,符合硬/軟RT標準,操作系統僅提供具有可預測時序行爲的接口,允許應用程序進行時序假設。

相關問題