【操作系統】什么是RTOS?RTOS與普通操作系統的區別?
Real-Time Operating System實時操作系統
本文引用地址:http://www.j9360.com/article/202210/439152.htm實時操作系統(RTOS)是指當外界事件或數據產生時,能夠接受并以足夠快的速度予以處理,其處理的結果又能在規定的時間之內來控制生產過程或對處理系統做出快速響應,調度一切可利用的資源完成實時任務,并控制所有實時任務協調一致運行的操作系統。
實時系統的正確性不僅依賴系統計算的邏輯結果,還依賴于產生這個結果的時間。
換句話說,系統設計時所有的事件都可以在指定的時間內得到響應(時間確定性)。
如果系統關鍵任務響應時間都滿足這條標準,則這樣的實時系統可稱為硬實時系統。
提供及時響應和高可靠性是RTOS的主要特點。
實時操作系統和普通操作系統的區別?
與通用的分時操作系統不同(Linux、Windows、Unix等),實時操作系統在航空航天、軍事與工業自動化領域更具優勢,首先實時操作系統有著分時操作系統無法比擬的響應時間確定性,實時操作系統從調度器算法,到中斷響應系統,到消息傳遞機制等所有的核心算法時間復雜度都是O(1),它表示系統的響應速度不依賴于系統任務的多少,負載的輕重,而只依賴于優先級的設計,就算當前系統滿負荷運行,優先級高的事件發生后,系統還將會在指定的時間內立即響應事件。由于這種設計理念和算法上的優勢,根據相關數學理論,分時系統在負載嚴重的情況下是不能通過提升處理器性能來獲得確定的響應時間。
這種算法上的優勢是通用分時系統所難以比擬的,而通用分時系統則更多考慮的是系統易用性、平衡性和數據吞吐率。
實時系統與分時系統設計思想和應用領域完全不同,不存在替代關系,而是一種互補關系。
我們常用的Windows XP windows 7/8/10,等都是分時系統,它打開文件,程序,不存在時間的確定性,而且快2秒,慢5秒不會對我們的生活和工作造成影響;
實時操作系統大部分是運行在芯片的底層,比如美國的Vx Works,RT-linux,我們國產的SylixOS,這些大型的實時操作系統實時的控制著最底層的應用,時間確定的執行著設定任務,例如火箭發射中定是分離,調整軌道等;
什么是硬實時?什么是軟實時?
硬實時與軟實時之間最關鍵的差別在于,軟實時只能提供統計意義上的實時。例如,有的應用要求系統在95%的情況下都會確保在規定的時間內完成某個動作,而不一定要求100%。
在許多情況下,這樣的“軟性”正確率已經可以達到用戶期望的水平。比如,用戶在操作DVD播放機時,只要98%的情況都能正常播放,用戶可能就滿意了;
而發射衛星、控制核反應堆的應用系統,這些系統的實時性必須達到100%,是絕對不允許出現意外。
硬實時系統有一個剛性的、不可改變的時間限制,它不允許任何超出時限的錯誤。超時錯誤會帶來損害甚至導致系統失敗、或者導致系統不能實現它的預期目標。
軟實時系統的時限是一個柔性靈活的,它可以容忍偶然的超時錯誤。
實時操作系統就是在規定的時間內必須正確地完成操作,完成操作的時間有操作系統的因素,也有用戶軟件的因素。
非實時操作系統指操作系統無法保證哪怕是最高優先級任務開始執行的最后時限。
只有“非屏蔽中斷+執行時間確定的ISR”才可以稱為硬實時系統,因為這個系統明確告訴我什么時候完成操作。
著名的硬實時系統包括:
VxWorks,SylixOS,RTlinux,ThreadX,QNX,Nucleus等.
如何實現實時系統?
實時系統的調度策略?
實時系統的中斷處理?
主要是內核調度策略和中斷優先級。
實時操作系統從調度器算法,到中斷響應系統,到消息傳遞機制等所有的核心算法時間復雜度都是O(1),它表示系統的響應速度不依賴于系統任務的多少,負載的輕重,而只依賴于優先級的設計,就算當前系統滿負荷運行,優先級高的事件發生后,系統還將會在指定的時間內立即響應事件。由于這種設計理念和算法上的優勢,根據相關數學理論,分時系統在負載嚴重的情況下是不能通過提升處理器性能來獲得確定的響應時間。
參考:https://www.xuexila.com/diannao/xitong/zonghe/3631068.html
————————————————
版權聲明:本文為CSDN博主「Evan_ZGYF丶」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/Ivan804638781/article/details/114239343
評論