|
|
對外部信號作出快速響應的一種操作係統。大部分為特殊的實時控製任務而設計。響應速度根據實時任務的緊迫程度而决定,一般為毫秒級,也有微秒級。 |
|
實時操作係統
英文稱real time operating system,簡稱rtos。
1.實時操作係統定義
什麽東西一旦弄上實時兩個字就是對響應時間有嚴格的要求。實時操作係統貴在實時,要求在規定的時間內完成某種操作。主要用在工業控製中,實時操作係統中一般任務數是固定的,有硬實時和軟實時之分,硬實時要求在規定的時間內必須完成操作,這是在操作係統設計時保證的;軟實時則沒有那麽嚴,衹要按照任務的優先級,盡可能快地完成操作即可。我們通常使用的操作係統在經過一定改變之後就可以變成實時操作係統。
實時操作係統是保證在一定時間限製內完成特定功能的操作係統。例如,可以為確保生産綫上的機器人能獲取某個物體而設計一個操作係統。在“硬”實時操作係統中,如果不能在允許時間內完成使物體可達的計算,操作係統將因錯誤結束。在“軟”實時操作係統中,生産綫仍然能繼續工作,但産品的輸出會因産品不能在允許時間內到達而減慢,這使機器人有短暫的不生産現象。一些實時操作係統是為特定的應用設計的,另一些是通用的。一些通用目的的操作係統稱自己為實時操作係統。但某種程度上,大部分通用目的的操作係統,如微軟的windows nt或ibm的os/390有實時係統的特徵。這就是說,即使一個操作係統不是嚴格的實時係統,它們也能解决一部分實時應用問題。
2.實時操作係統的特徵
通常,實時操作係統必須有以下特徵:
1)多任務;
2)有綫程優先級
3)多種中斷級別
小的嵌入式操作係統經常需要實時操作係統。內核要滿足實時操作係統的要求。但其它部件,如設備驅動程序也是需要的,因此,一個實時操作係統常比內核大。
3.實時操作係統的分類
軟實時係統和硬實時係統。
實時係統對邏輯和時序的要求非常嚴格,如果邏輯和時序出現偏差將會引起嚴重後果。實時係統有兩種類型:軟實時係統和硬實時係統。
軟實時係統僅要求事件響應是實時的,並不要求限定某一任務必須在多長時間內完成;而在硬實時係統中,不僅要求任務響應要實時,而且要求在規定的時間內完成事件的處理。通常,大多數實時係統是兩者的結合。
事實上,沒有一個絶對的數字可以說明什麽是硬實時,什麽是軟實時。它們之間的界限是十分模糊的。這與選擇什麽樣的cpu,它的主頻、內存等參數有一定的關係。另外,因為應用的場合對係統實時性能要求的不同而有不同的定義。因此,在現有的固定的軟、硬件平臺上,如何測試並找出决定係統實時性能的關鍵參數,並給出優化的措施和試驗數據,就成為一個具有普遍意義並且值得深入探討的課題。本文就是基於此目的進行討論的。
因為采用實時操作係統的意義就在於能夠及時處理各種突發的事件,即處理各種中斷,因而衡量嵌入式實時操作係統的最主要、最具有代表性的性能指標參數無疑應該是中斷響應時間了。中斷響應時間通常被定義為:
中斷響應時間=中斷延遲時間+保存cpu狀態的時間+該內核的isr進入函數的執行時間。
中斷延遲時間=max(關中斷的最長時間,最長指令時間) + 開始執行isr的第一條指令的時間。 |
|
實時操作係統
英文稱Real Time Operating System,簡稱RTOS。
1.實時操作係統定義
實時操作係統(RTOS)是指當外界事件或數據産生時,能夠接受並以足夠快的速度予以處理,其處理的結果又能在規定的時間之內來控製生産過程或對處理係統作出快速響應,並控製所有實時任務協調一致運行的操作係統。因而,提供及時響應和高可靠性是其主要特點。實時操作係統有硬實時和軟實時之分,硬實時要求在規定的時間內必須完成操作,這是在操作係統設計時保證的;軟實時則衹要按照任務的優先級,盡可能快地完成操作即可。我們通常使用的操作係統在經過一定改變之後就可以變成實時操作係統。
實時操作係統是保證在一定時間限製內完成特定功能的操作係統。例如,可以為確保生産綫上的機器人能獲取某個物體而設計一個操作係統。在“硬”實時操作係統中,如果不能在允許時間內完成使物體可達的計算,操作係統將因錯誤結束。在“軟”實時操作係統中,生産綫仍然能繼續工作,但産品的輸出會因産品不能在允許時間內到達而減慢,這使機器人有短暫的不生産現象。一些實時操作係統是為特定的應用設計的,另一些是通用的。一些通用目的的操作係統稱自己為實時操作係統。但某種程度上,大部分通用目的的操作係統,如微軟的Windows NT或IBM的OS/390有實時係統的特徵。這就是說,即使一個操作係統不是嚴格的實時係統,它們也能解决一部分實時應用問題。
2.實時操作係統的特徵
1)多任務;
2)有綫程優先級
3)多種中斷級別
小的嵌入式操作係統經常需要實時操作係統,內核要滿足實時操作係統的要求。
3.實時操作係統的相關概念
(1)基本概念
代碼臨界段:指處理時不可分割的代碼。一旦這部分代碼開始執行則不允許中斷打入;
資源:任何為任務所占用的實體;
共享資源:可以被一個以上任務使用的資源;
任務:也稱作一個綫程,是一個簡單的程序。每個任務被賦予一定的優先級,有它自己的一套CPU寄存器和自己的棧空間。典型地,每個任務都是一個無限的循環,每個任務都處在以下五個狀態下:休眠態,就緒態,運行態,挂起態,被中斷態;
任務切換:將正在運行任務的當前狀態(CPU寄存器中的全部內容)保存在任務自己的棧區,然後把下一個將要運行的任務的當前狀態從該任務的棧中重新裝入CPU的寄存器,並開始下一個任務的運行;
內核:負責管理各個任務,為每個任務分配CPU時間,並負責任務之間通訊。分為不可剝奪型內核於可剝奪型內核;
調度:內核的主要職責之一,决定輪到哪個任務運行。一般基於優先級調度法;
(2)關於優先級的問題
任務優先級:分為優先級不可改變的靜態優先級和優先級可改變的動態優先級;
優先級反轉:優先級反轉問題是實時係統中出現最多的問題。共享資源的分配可導致優先級低的任務先運行,優先級高的任務後運行。解决的辦法是使用“優先級繼承”算法來臨時改變任務優先級,以遏製優先級反轉。
(3)互斥
雖然共享數據區簡化了任務之間的信息交換,但是必須保證每個任務在處理共享共享數據時的排他性。使之滿足互斥條件的一般方法有:關中斷,使用測試並置位指令(TAS),禁止做任務切換,利用信號量。
因為采用實時操作係統的意義就在於能夠及時處理各種突發的事件,即處理各種中斷,因而衡量嵌入式實時操作係統的最主要、最具有代表性的性能指標參數無疑應該是中斷響應時間了。中斷響應時間通常被定義為:
中斷響應時間=中斷延遲時間+保存CPU狀態的時間+該內核的ISR進入函數的執行時間。
中斷延遲時間=MAX(關中斷的最長時間,最長指令時間) + 開始執行ISR的第一條指令的時間。 |
|
- : Real Time Operating System (RTOS), real time operating systems (rtos)
|
|
|
|
嵌入式實時操作係統 | 嵌入式實時操作係統及應用開發(第2版) | 嵌入式實時操作係統μC/OS-II原理及應用 | 嵌入式實時操作係統原理及應用 | |
|