基本信息
時間約束
實時系統的任務具有一定的時間約束(截止時間)。根據截止時間,實時系統的實時性分為“硬實時”和“軟實時”。硬實時是指套用的時間需求能夠得到完全滿足,否則就造成重大安全事故,甚至造成重大的生命財產損失和生態破壞,如在航空航天、軍事、核工業等一些關鍵領域中的套用。軟實時是指某些套用雖然提出時間需求,但實時任務偶爾違反這種需求對系統運行及環境不會造成嚴重影響,如監控系統等和
信息採集系統等。
可預測性
可預測性是指系統能夠對實時任務的執行時間進行判斷,確定是否能夠滿足任務的時限要求。由於實時系統對時間約束要求的嚴格性,使可預測性成為實時系統的一項重要性能要求。除了要求硬體延遲的可預測性以外,還要求軟體系統的可預測性,包括
應用程式的
回響時間是可預測的,即在有限的時間內完成必須的工作;以及
作業系統的可預測性,即實時原語、調度函式等運行開銷應是有界的,以保證應用程式執行時間的有界性。
可靠性
大多數實時系統要求有較高的
可靠性。在一些重要的實時套用中,任何不可靠因素和計算機的一個微小故障,或某些特定強實時任務(又叫關鍵任務)超過時限,都可能引起難以預測的嚴重後果。為此,系統需要採用
靜態分析和保留資源的方法及冗餘配置,使系統在最壞情況下都能正常工作或避免損失。
可靠性已成為衡量實時系統性能不可缺少的重要指標。
互動作用
實時系統通常運行在一定的環境下,外部環境是實時系統不可缺少的一個組成部分。計算機子系統一般是
控制系統,它必須在規定的時間內對外部請求做出反應。外部物理環境往往是被控子系統,兩者互相作用構成完整的實時系統。大多數控制子系統必須連續運轉以保證子系統的正常工作或準備對任何異常行為採取行動。
新特點
簡述
早期的實時系統功能簡單,包括
單板機、
單片機,以及簡單的
嵌入式實時系統等,其調度過程相對簡單。隨著實時系統套用範圍的不斷擴大,系統複雜性不斷提高,實時系統具有以下新特點:
多任務類
在實時系統中,不但包括
周期任務、偶發任務、非周期任務,還包括非實時任務。實時任務要求要滿足時限,而非實時任務要求要使其
回響時間儘可能的短。多種類型任務的混合,使系統的可調度性分析更加困難。
複雜性
任務的約束包括時間約束、
資源約束、執行順序約束和
性能約束。時間約束是任何實時系統都固有的約束。資源約束是指多個實時任務共享有限的資源時,必須按照一定的資源訪問控制協定進行同步,以避免死鎖和高優先權任務被低優先權任務堵塞的時間(即優先權倒置時間)不可預測。執行順序約束是指各任務的啟動和執行必須滿足一定的時間和順序約束。例如,在分散式端到端(end-to-end)實時系統很重,同一任務的各子任務之間存在前驅/後驅約束關係,需要執行同步協定來管理子任務的啟動和控制子任務的執行,使它們滿足時間約束和系統可調度要求。
性能約束是指必須滿足如
可靠性、可用性、可預測性、服務質量(Quality of Service,QoS)等性能指標。
短暫超載
在實時系統中,即使一個功能設計合理、資源充足的系統也可能由於一下原因超載:
1)系統元件出現老化,外圍設備錯誤或系統發生故障。隨著系統運行時間的增長,系統元件出現老化,系統部件可能發生故障,導致系統可用資源降低,不能滿足實時任務的時間約束要求。
2)環境的動態變化。由於不能對未來的環境、系統狀態進行正確有效地預測,因此不能從整體角度上對任務進行調度,可能導致系統超載。
3)套用規模的擴大。原先滿足實時任務時限要求的系統,隨著套用規模的增大,可能出現不能滿足任務時限要求的情況,而重新設計、重建系統在時間和經濟上又不允許。
調度範圍
分析
為了精確管理“時間”資源,已達到實時性和與預測性要求,並能夠滿足是實時系統的新要求,需用實時調度理論對任務進行調度和可調度性分析。任務調度技術包括調度策略和可調度性分析方法,兩者是緊密結合的。任務調度技術研究的範圍包括任務使用
系統資源(包括
處理機、
記憶體、
I/O、
網路等資源)的策略和機制,以及提供判斷系統性能是否可預測的方法和手段。例如,什麼時候調度任務運行、在哪運行(當系統為
多處理機系統或
分散式系統時)、運行多長時間等等;以及判斷分析用一定參數描述的實時任務能否被系統正確調度。
給定一組實時任務和
系統資源,確定每個任務何時何地執行的整個過程就是調度。在非實時系統中,調度的主要目的是縮短系統平均
回響時間,提高
系統資源利用率,或最佳化某一項指標;而實時系統中調度的目的則是要儘可能地保證每個任務滿足他們的時間約束,及時對外部請求做出回響。實時調度技術通常有多種劃分方法,常用以下兩種。
占式調度
搶占式調度通常是優先權驅動的調度。每個任務都有優先權,任何時候具有最高優先權且已啟動的任務先執行。一個正在執行的任務放棄處理器的條件為:自願放棄處理器(等待資源或執行完畢);有高優先權任務啟動,該高優先權任務將搶占其執行。除了共享資源的臨界段之外,高優先權任務一旦準備就緒,可在任何時候搶占低優先權任務的執行。搶占式調度的優點是實時性好、反應快,
調度算法相對簡單,可優先保證高優先權任務的時間約束,其缺點是
上下文切換多。而非搶占式調度是指不允許任務在執行期間被中斷,任務一旦占用處理器就必須執行完畢或自願放棄。其優點是
上下文切換少;缺點是在一般情況下,處理器有效資源利用率低,可調度性不好。
驅動策略
靜態表驅動策略(Static Table-Driven Scheduling)是一種離線調度策略,指在系統運行前根據各任務的時間約束及關聯關係,採用某種搜尋策略生成一張運行時刻表。這張運行時刻表與列車運行時刻表類似,指明了各任務的起始運行時刻及運行時間。運行時刻表一旦生成就不再發生變化了。在系統運行時,調度器只需根據這張時刻表啟動相應的任務即可。由於所有調度策略在離線情況下指定,因此調度器的功能被弱化,只具有分派器(
Dispatcher)的功能。
優先權驅動策略指按照任務優先權的高低確定任務的高低確定任務的執行順序。優先權驅動策略又分為靜態優先權調度策略。靜態優先權調度是指任務的優先權分配好之後,在任務的運行過程中,優先權不會發生改變。靜態優先權調度又稱為固態優先權調度。動態優先權調度是指任務的優先權可以隨著時間或系統狀態的變化而發生變化。
分類
強實時
強實時系統(Hard Real-Time):在航空航天、軍事、核工業等一些關鍵領域中,套用時間需求應能夠得到完全滿足,否則就造成如飛機失事等重大地安全事故,造成重大地生命財產損失和生態破壞。因此,在這類系統的設計和實現過程中,應採用各種分析、模擬及形式化驗證方法對系統進行嚴格的檢驗,以保證在各種情況下套用的時間需求和功能需求都能夠得到滿足。
弱實時
弱實時系統(Soft Real-Time):某些套用雖然提出了時間需求,但實時任務偶爾違反這種需求對系統的運行以及環境不會造成嚴重影響,如
視頻點播(Video-On-Demand,
VOD)系統、信息採集與檢索系統就是典型的弱實時系統。在VOD系統中,系統只需保證絕大多數情況下視頻數據能夠及時傳輸給用戶即可,偶爾的數據傳輸延遲對用戶不會造成很大影響,也不會造成像飛機失事一樣嚴重的後果。