實時操作系統

實時操作系統

控制所有實時任務協調一緻運行的操作系統
實時操作系統(RTOS)是指當外界事件或數據産生時,能夠接受并以足夠快的速度予以處理,其處理的結果又能在規定的時間之内來控制生産過程或對處理系統做出快速響應,調度一切可利用的資源完成實時任務,并控制所有實時任務協調一緻運行的操作系統。提供及時響應和高可靠性是其主要特點。[1]
  • 中文名:實時操作系統
  • 外文名:Real Time Operating System
  • 簡稱:RTOS
  • 常用系統:SyixOS
  • 行業應用:工業自動化、軍事、電力、新能源
  • 特點:實時響應、穩定可靠

定義

實時操作系統是保證在一定時間限制内完成特定功能的操作系統。實時操作系統有硬實時和軟實時之分,硬實時要求在規定的時間内必須完成操作,這是在操作系統設計時保證的;軟實時則隻要按照任務的優先級,盡可能快地完成操作即可。我們通常使用的操作系統在經過一定改變之後就可以變成實時操作系統。

例如,可以為确保生産線上的機器人能獲取某個物體而設計一個操作系統。在“硬”實時操作系統中,如果不能在允許時間内完成使物體可達的計算,操作系統将因錯誤結束。在“軟”實時操作系統中,生産線仍然能繼續工作,但産品的輸出會因産品不能在允許時間内到達而減慢,這使機器人有短暫的不生産現象。一些實時操作系統是為特定的應用設計的,另一些是通用的。一些通用目的的操作系統稱自己為實時操作系統。但某種程度上,大部分通用目的的操作系統,如微軟的WindowsNT或IBM的OS/390有實時系統的特征。這就是說,即使一個操作系統不是嚴格的實時系統,它們也能解決一部分實時應用問題。

大體上,實時操作系統(RTOS)要求:

多任務處理能被區分優先次序的進程線

一個中斷水平的充份數量被裝入作為微型設備一部分的内含小操作系統經常要求實時操作系統。一些核心問題能被考慮以符合實時操作系統的需求。然而,因為像設備驅動程序這樣的其他成份,也通常被特别的方法需要,一個實時操作系統通常比核心更大。

實時任務

在實時系統中必然存在着若幹個實時任務,這些任務通常與某些個外部設備相關,能反應或控制相應的外部設備,因而帶有某種程度的緊迫性。可從不同的角度對實時任務加以分類。

1、按任務執行時是否呈現周期性變化來劃分:

a、周期性實時任務

外部設備周期性地發出激勵信号給計算機,要求它按照指定周期循環執行,以便周期性的控制某種外部設備。

b、非周期性實時任務

外部設備所發出的激勵信号并無明顯的周期性,但都必須聯系着一個截止時間。它又可分為開始截止時間(任務在某時間以前必須開始執行)和完成截止時間(任務在某時間以前必須完成)兩部分。

2、根據對截至時間的要求來劃分:

a、硬實時任務

b、軟實時任務

特征

1)高精度計時系統

計時精度是影響實時性的一個重要因素。在實時應用系統中,經常需要精确确定實時地操作某個設備或執行某個任務,或精确的計算一個時間函數。這些不僅依賴于一些硬件提供的時鐘精度,也依賴于實時操作系統實現的高精度計時功能。

2)多級中斷機制

一個實時應用系統通常需要處理多種外部信息或事件,但處理的緊迫程度有輕重緩急之分。有的必須立即作出反應,有的則可以延後處理。因此,需要建立多級中斷嵌套處理機制,以确保對緊迫程度較高的實時事件進行及時響應和處理。

3)實時調度機制

實時操作系統不僅要及時響應實時事件中斷,同時也要及時調度運行實時任務。但是,處理機調度并不能随心所欲的進行,因為涉及到兩個進程之間的切換,隻能在确保“安全切換”的時間點上進行,實時調度機制包括兩個方面,一是在調度策略和算法上保證優先調度實時任務;二是建立更多“安全切換”時間點,保證及時調度實時任務。

實時操作系統的特點

IEEE的實時UNIX分委會認為實時操作系統應具備以下的幾點:

1、異步的事件響應

2、切換時間和中斷延遲時間确定

3、優先級中斷和調度

4、搶占式調度

比較

實時系統與分時系統特征的比較

(1)多路性。實時信息處理系統與分時系統一樣具有多路性。系統按分時原則為多個終端用戶服務;而對實時控制系統,其多路性則主要表現在經常對多路的現場信息進行采集以及對多個對象或多個執行機構進行控制。

(2)獨立性。實時信息處理系統與分時系統一樣具有獨立性。每個終端用戶在向分時系統提出服務請求時,是彼此獨立的操作,互不幹擾;而在實時控制系統中信息的采集和對對象的控制,也彼此互不幹擾。

(3)及時性。實時信息系統對實時性的要求與分時系統類似,都是以人所能接受的等待時間來确定;而實時控制系統的及時性,則是以控制對象所要求的開始截止時間或完成截止時間來确定的,一般為秒級、百毫秒級直至毫秒級,甚至有的要低于100微秒。

(4)交互性。實時信息處理系統具有交互性,但這裡人與系統的交互,僅限于訪問系統中某些特定的專用服務程序。它不像分時系統那樣能向終端用戶提供數據處理服務、資源共享等服務。

(5)可靠性。分時系統要求系統可靠,相比之下,實時系統則要求系統高度可靠。因為任何差錯都可能帶來巨大的經濟損失甚至無法預料的災難性後果。因此,在實時系統中,采取了多級容錯措施來保證系統的安全及數據的安全。

相關概念

基本概念

代碼臨界段:指處理時不可分割的代碼。一旦這部分代碼開始執行則不允許中斷打入;

資源:任何為任務所占用的實體;

共享資源:可以被一個以上任務使用的資源;

任務:也稱作一個線程,是一個簡單的程序。每個任務被賦予一定的優先級,有它自己的一套CPU寄存器和自己的棧空間。典型地,每個任務都是一個無限的循環,每個任務都處在以下五個狀态下:休眠态,就緒态,運行态,挂起态,被中斷态;

任務切換:将正在運行任務的當前狀态(CPU寄存器中的全部内容)保存在任務自己的棧區,然後把下一個将要運行的任務的當前狀态從該任務的棧中重新裝入CPU的寄存器,并開始下一個任務的運行;

内核:負責管理各個任務,為每個任務分配CPU時間,并負責任務之間通訊。分為不可剝奪型内核和可剝奪型内核;

調度:内核的主要職責之一,決定輪到哪個任務運行。一般基于優先級調度法;

優先級的問題

任務優先級:分為優先級不可改變的靜态優先級和優先級可改變的動态優先級;

優先級反轉:優先級反轉問題是實時系統中出現最多的問題。共享資源的分配可導緻優先級低的任務先運行,優先級高的任務後運行。解決的辦法是使用“優先級繼承”算法來臨時改變任務優先級,以遏制優先級反轉。

互斥

雖然共享數據區簡化了任務之間的信息交換,但是必須保證每個任務在處理共享共享數據時的排他性。使之滿足互斥條件的一般方法有:關中斷,使用測試并置位指令(TAS),禁止做任務切換,利用信号量。

因為采用實時操作系統的意義就在于能夠及時處理各種突發的事件,即處理各種中斷,因而衡量嵌入式實時操作系統的最主要、最具有代表性的性能指标參數無疑應該是中斷響應時間了。中斷響應時間通常被定義為:

中斷響應時間=中斷延遲時間+保存CPU狀态的時間+該内核的ISR進入函數的執行時間。

中斷延遲時間=MAX(關中斷的最長時間,最長指令時間)+開始執行ISR的第一條指令的時間。

實時操作系統的特點

IEEE的實時UNIX分委會認為實時操作系統應具備以下的幾點:

●異步的事件響應

●切換時間和中斷延遲時間确定

●優先級中斷和調度

●搶占式調度

●,而在這有限的空間内不僅要裝載實時操作系統,還要裝載用戶程序。因此,在RTOS的設計中,其占用内存大小是一個很重要的指标,這是RTOS設計與其它操作系統設計的明顯區别之一。

4.最大中斷禁止時間:

當RTOS運行在核态或執行某些系統調用的時候,是不會因為外部中斷的到來而中斷執行的。隻有當RTOS重新回到用戶态時才響應外部中斷請求,這一過程所需的最大時間就是最大中斷禁止時間。

5.任務切換時間:

當由于某種原因使一個任務退出運行時,RTOS保存它的運行現場信息、插入相應隊列、并依據一定的調度算法重新選擇一個任務使之投入運行,這一過程所需時間稱為任務切換時間。

上述幾項中,最大中斷禁止時間和任務切換時間是評價一個RTOS實時性最重要的兩個技術指标。

相關詞條

相關搜索

其它詞條