1.英文簡稱
英文稱Real Time Operating System,簡稱RTOS。
2.定義
實時操作系統是保證在一定時間限制內完成特定功能的操作系統。例如,可以為確保生產線上的機器人能獲取某個物體而設計一個操作系統。在“硬”實時操作系統中,如果不能在允許時間內完成使物體可達的計算,操作系統將因錯誤結束。在“軟”實時操作系統中,生產線仍然能繼續工作,但產品的輸出會因產品不能在允許時間內到達而減慢,這使機器人有短暫的不生產現象。一些實時操作系統是為特定的應用設計的,另一些是通用的。一些通用目的的操作系統稱自己為實時操作系統。但某種程度上,大部分通用目的的操作系統,如微軟的Windows NT或IBM的OS/390有實時系統的特征。這就是說,即使一個操作系統不是嚴格的實時系統,它們也能解決一部分實時應用問題。
3.特征
1)高精度計時系統
計時精度是影響實時性的一個重要因素。在實時應用系統中,經常需要精確確定實時地操作某個設備或執行某個任務,或精確的計算一個時間函數。這些不僅依賴于一些硬件提供的時鐘精度,也依賴于實時操作系統實現的高精度計時功能。
2)多級中斷機制
一個實時應用系統通常需要處理多種外部信息或事件,但處理的緊迫程度有輕重緩急之分。有的必須立即作出反應,有的則可以延后處理。因此,需要建立多級中斷嵌套處理機制,以確保對緊迫程度較高的實時事件進行及時響應和處理。
3)實時調度機制
實時操作系統不僅要及時響應實時事件中斷,同時也要及時調度運行實時任務。但是,處理機調度并不能隨心所欲的進行,因為涉及到兩個進程之間的切換,只能在確保“安全切換”的時間點上進行,實時調度機制包括兩個方面,一是在調度策略和算法上保證優先調度實時任務;二是建立更多“安全切換”時間點,保證及時調度實時任務。
4.相關概念基本概念
代碼臨界段:指處理時不可分割的代碼。一旦這部分代碼開始執行則不允許中斷打入;
資源:任何為任務所占用的實體;
共享資源:可以被一個以上任務使用的資源;
任務:也稱作一個線程,是一個簡單的程序。每個任務被賦予一定的優先級,有它自己的一套CPU寄存器和自己的??臻g。典型地,每個任務都是一個無限的循環,每個任務都處在以下五個狀態下:休眠態,就緒態,運行態,掛起態,被中斷態;
任務切換:將正在運行任務的當前狀態(CPU寄存器中的全部內容)保存在任務自己的棧區,然后把下一個將要運行的任務的當前狀態從該任務的棧中重新裝入CPU的寄存器,并開始下一個任務的運行;
內核:負責管理各個任務,為每個任務分配CPU時間,并負責任務之間通訊。分為不可剝奪型內核和可剝奪型內核;
調度:內核的主要職責之一,決定輪到哪個任務運行。一般基于優先級調度法;
優先級的問題
任務優先級:分為優先級不可改變的靜態優先級和優先級可改變的動態優先級;
優先級反轉:優先級反轉問題是實時系統中出現最多的問題。共享資源的分配可導致優先級低的任務先運行,優先級高的任務后運行。解決的辦法是使用“優先級繼承”算法來臨時改變任務優先級,以遏制優先級反轉。
互斥
雖然共享數據區簡化了任務之間的信息交換,但是必須保證每個任務在處理共享共享數據時的排他性。使之滿足互斥條件的一般方法有:關中斷,使用測試并置位指令(TAS),禁止做任務切換,利用信號量。
因為采用實時操作系統的意義就在于能夠及時處理各種突發的事件,即處理各種中斷,因而衡量嵌入式實時操作系統的最主要、最具有代表性的性能指標參數無疑應該是中斷響應時間了。中斷響應時間通常被定義為:
中斷響應時間=中斷延遲時間+保存CPU狀態的時間+該內核的ISR進入函數的執行時間。
中斷延遲時間=MAX(關中斷的最長時間,最長指令時間) + 開始執行ISR的第一條指令的時間。
實時操作系統的特點
IEEE 的實時UNIX分委會認為實時操作系統應具備以下的幾點:
●異步的事件響應
●切換時間和中斷延遲時間確定
●優先級中斷和調度
●搶占式調度
而在這有限的空間內不僅要裝載實時操作系統,還要裝載用戶程序。因此,在RTOS的設計中,其占用內存大小是一個很重要的指標,這是RTOS設計與其它操作系統設計的明顯區別之一。
4. 最大中斷禁止時間:
當RTOS運行在核態或執行某些系統調用的時候,是不會因為外部中斷的到來而中斷執行的。只有當RTOS重新回到用戶態時才響應外部中斷請求,這一過程所需的最大時間就是最大中斷禁止時間。
5. 任務切換時間:
當由于某種原因使一個任務退出運行時,RTOS保存它的運行現場信息、插入相應隊列、并依據一定的調度算法重新選擇一個任務使之投入運行,這一過程所需時間稱為任務切換時間。
上述幾項中, 最大中斷禁止時間和任務切換時間是評價一個RTOS實時性最重要的兩個技術指標。
內容來自百科網