實時作業系統特點

2021-08-28 21:09:19 字數 1311 閱讀 1707

實時作業系統(real-time operating system, rtos)是說,任務切換和中斷響應的時間必須保證在多少時間內(如5us內)完成。

分為硬實時和軟實作業系統:

硬實時是說必須在多少時間內完成切換(如vxworks, 我們使用的ecos也是硬實時的)

軟實時則是絕大多數情況可以在多少時間內完成切換(如linux)

從原理來看判斷乙個系統是否是實時只需要看它的排程演算法即可,具體能實時在多少時間內,則要區分不同硬體了。

為什麼需要實時作業系統呢?

舉乙個經常使用的例項,中高檔汽車中使用的氣囊。當報告車輛碰撞的感測器中斷cpu後,作業系統應快速地分配展開氣囊的任務,並且不允許任何其他非實時處理進行干擾,晚一秒鐘展開氣囊比沒有氣囊的情況更糟糕,這就是乙個典型的必須使用硬實時的系統。

除為中斷處理提供確定性外,實時處理也需要支援週期性間隔的任務排程。大量控制系統要求週期性取樣與處理。某個特定任務必須按照固定的週期(p)執行,從而確保系統的穩定性。考慮一下汽車的防抱死系統(abs)。控制系統對車輛的每個車輪的轉速進行取樣(每秒最多 20 次)並控制每個制動器的壓力(防止它鎖死)。為了保持控制系統的正常工作,感測器的取樣與控制必須按照一定的週期間隔。這意味著必須搶占其他處理,以便 abs 任務能按照期望的週期執行。

大多數實時作業系統使用的都是基於優先順序的可搶占式呼叫策略,同一優先順序則使用時間片輪轉排程。

什麼是優先順序反轉

優先順序反轉的含義是說高優先順序的任務被迫等待低優先順序任務執行。

因為多程序共享資源, 當出現互斥資源訪問時,基於優先順序排程會有如下這種現象:

三個任務task1, task2, task3,優先順序 task1 > task2 > task3,當task1和task2某種原因被阻塞時,task3排程執行,task3執行時占用互斥資源a執行臨界區**時,很巧task1這時從阻塞狀態恢復,基於優先順序的排程會立即排程到task1執行,而task1執行時又需要持有互斥資源a,因此task1再度進入阻塞狀態,等待task3執行。task3執行還未釋放互斥資源a,這時task2從阻塞狀態恢復立馬得到排程執行並一直等到task2執行完畢。這時就相當於高優先順序的task1需要等待中優先順序的task2執行了,這就是優先順序反轉。

如何避免優先順序反轉?

解決優先順序反轉有許多方法,普遍使用的有兩種:優先順序繼承;極限優先順序。

優先順序繼承:當高優先順序的任務需要等待低優先順序任務釋放互斥資源時,暫時先把低優先順序任務的優先順序提公升至和高優先順序任務優先順序一樣。這樣就確保了不會有其他中優先順序任務搶占執行。(ecos產品使用這種)

極限優先順序:當任務占用互斥資源執行臨界區**時,先把該任務的優先順序提公升至極限優先順序(系統最高優先順序),等到釋放資源時再降回原有優先順序。

實時多工作業系統uCOS III的特點

ucos iii是乙個全新的實時核心,源於世界上最流行的實時核心uc os ii,除了提供熟悉的一系列系統服務,全面修訂了api介面,使uc os iii更直觀,更容易使用。該產品可以廣泛應用於通訊,工業控制,儀器儀表,汽車電子,消費電子,辦公自動化裝置等的設計開發。ucos iii是乙個搶占的多工...

批處理 分時 實時各個作業系統特點

1 批處理作業系統的主要特點是 離線 多道和成批處理。離線是指使用者離線使用計算機,即使用者提交作業之後直到獲得結果之前幾乎不再和計算機打交道。多道是指多道程式執行,即按多道程式設計的排程原則,從一批後備作業中選取多道作業調入記憶體並組織它們執行 成批處理是指操作員把使用者提交的作業組織成一批,由作...

實時作業系統

所謂 實時作業系統 實際上是指作業系統工作時,其各種資源可以根據需要隨時進行動態分配。由於各種資源可以進行動態分配,因此其處理事務的能力較強 速度較快。無論什麼控制系統一旦弄上 實時 兩個字就是對響應時間有嚴格的要求。實時作業系統貴在實時,要求在規定的時間內完成某種操作。主要用在工業控制中,實時作業...