電子百科
RTOS主要分為強(qiáng)實(shí)時(shí)(hard real-tlme)系統(tǒng)和弱實(shí)時(shí)(soft real-time)系統(tǒng)兩類。
????? 強(qiáng)實(shí)時(shí)系統(tǒng)應(yīng)用在航空航天、軍事、核工業(yè)等領(lǐng)域中;弱實(shí)時(shí)系統(tǒng)應(yīng)用于如視頻點(diǎn)播系統(tǒng)、信息采集與檢索系統(tǒng)等。
?。?)約束性
RTOS任務(wù)的約束包括時(shí)間約束、資源約束、執(zhí)行順序約束和性能約束。
RTOS的任務(wù)具有時(shí)間約束性。時(shí)間約束是任何RT0S都固有的約束。時(shí)間約束性可分為硬實(shí)時(shí)和軟實(shí)時(shí)。硬實(shí)時(shí)是指在航空航天、軍事、核工業(yè)等一些關(guān)鍵領(lǐng)域中應(yīng)用的系統(tǒng),時(shí)間要求必須能夠得到完全滿足,否則將造成不可預(yù)計(jì)的結(jié)果。軟實(shí)時(shí)通常是指在監(jiān)控系統(tǒng)、信息采集系統(tǒng)等某些應(yīng)用中,有時(shí)間約束要求,但偶爾違反不會造成嚴(yán)重影響。
資源約束是指多個(gè)實(shí)時(shí)任務(wù)共享有限的資源時(shí),必須按照一定的資源訪問控制協(xié)議迸行同步,以避免死鎖和高優(yōu)先級任務(wù)被低優(yōu)先級任務(wù)堵塞的時(shí)間(即優(yōu)先級倒置時(shí)間)不可預(yù)測。
執(zhí)行順序約束是指各任務(wù)的啟動(dòng)和執(zhí)行必須滿足一定的時(shí)間和順序約束。例如,在分布式端到端(end-to-end)實(shí)時(shí)系統(tǒng)中,同一任務(wù)的各子任務(wù)之間存在前驅(qū)或后繼的約束關(guān)系,需要執(zhí)行同步協(xié)議來管理子任務(wù)的啟動(dòng)和控制子任務(wù)的執(zhí)行,使它們滿足時(shí)間約束和系統(tǒng)可調(diào)度性要求。
性能約束是指必須滿足如可靠性、可用性、可預(yù)測性、服務(wù)質(zhì)量(Quality of Service,QoS)等性能指標(biāo)。
?。?)可預(yù)測性
可預(yù)測性是指RTOS完成實(shí)時(shí)任務(wù)所需要的執(zhí)行時(shí)間應(yīng)是可知的??深A(yù)測性是RTOS的一項(xiàng)重要性能要求??深A(yù)測性包括硬件時(shí)延的可預(yù)測性和軟件系統(tǒng)的可預(yù)測性(包括應(yīng)用程序的響應(yīng)時(shí)間是可預(yù)測的,以及操作系統(tǒng)的可預(yù)測性)。
在多種任務(wù)型RTOS中,不但包括周期任務(wù)、偶發(fā)任務(wù)、非周期任務(wù),還包括非實(shí)時(shí)任務(wù)。多種類型任務(wù)的混合,使系統(tǒng)的可調(diào)度性、可預(yù)測性分析更加困難。
(3)可靠性
大多數(shù)RTOS要求有較高的可靠性,要求系統(tǒng)在最壞情況下都能正常工作或避免損失??煽啃允荝TOS的重要性能指標(biāo)。
?。?)交互性
外部環(huán)境是RTOS不可缺少的一個(gè)組成部分,它往往是被控子系統(tǒng)。嵌人式計(jì)算機(jī)系統(tǒng)一般作為控制系統(tǒng),必須在規(guī)定的時(shí)間內(nèi)對被控子系統(tǒng)請求做出反應(yīng)。被控子系統(tǒng)也必須能夠正常工作或準(zhǔn)各對任何異常行為采取動(dòng)作。兩者相互作用構(gòu)成完整的實(shí)時(shí)系統(tǒng)。
給定一組實(shí)時(shí)任務(wù)和系統(tǒng)資源,確定每個(gè)任務(wù)何時(shí)何地執(zhí)行的整個(gè)過程就是調(diào)度。而RTOS中調(diào)度的目的則是要盡可能地保證每個(gè)任務(wù)滿足它們的時(shí)間約束,及時(shí)對外部請求做出響應(yīng)。RTOS的調(diào)度技術(shù)常用的有以下兩種。
(1)搶占式調(diào)度和非搶占式調(diào)度
搶占式調(diào)度通常是優(yōu)先級驅(qū)動(dòng)的調(diào)度。每個(gè)任務(wù)都有優(yōu)先級,任何時(shí)候具有最高優(yōu)先級且已啟動(dòng)的任務(wù)先執(zhí)行。搶占式調(diào)度實(shí)時(shí)性好、反應(yīng)快,調(diào)度算法相對簡單,可優(yōu)先保證高優(yōu)先級任務(wù)的時(shí)間約束,其缺點(diǎn)是上下文切換多。而非搶占式調(diào)度是指不允許任務(wù)在執(zhí)行期間被中斷,任務(wù)一里占用微處理器就必須執(zhí)行到完畢或自愿放棄。其優(yōu)點(diǎn)是上下文切換少,缺點(diǎn)是微處理器有效資源利用率低,可調(diào)度性不好。
?。?)靜態(tài)表驅(qū)動(dòng)策略利優(yōu)先級驅(qū)動(dòng)策略
靜態(tài)表驅(qū)動(dòng)策略是一種離線調(diào)度策略,指在系統(tǒng)運(yùn)行前根據(jù)各任務(wù)的時(shí)間約束及關(guān)聯(lián)關(guān)系,采用某種搜索策略生成一張運(yùn)行時(shí)刻表。在系統(tǒng)運(yùn)行時(shí),調(diào)度器只需根據(jù)這張時(shí)刻表啟動(dòng)相應(yīng)的任務(wù)即可。
優(yōu)先級驅(qū)動(dòng)策略指按照任務(wù)優(yōu)先級的高低確定任務(wù)的執(zhí)行順序。優(yōu)先級驅(qū)動(dòng)策咯又分為靜態(tài)優(yōu)先級調(diào)度策略和動(dòng)態(tài)優(yōu)先級調(diào)度策略。靜態(tài)優(yōu)先級調(diào)度是指任務(wù)的優(yōu)先級分配好之后,在任務(wù)的運(yùn)行過程中,優(yōu)先級不會發(fā)生改變。靜態(tài)優(yōu)先級調(diào)度又稱為固定優(yōu)先級調(diào)度。動(dòng)態(tài)優(yōu)先級調(diào)度是指任務(wù)的優(yōu)先級可以隨著時(shí)間或系統(tǒng)狀態(tài)的變化而發(fā)生變化。
RTOS從單用途專用系統(tǒng)向多用途通用操作系統(tǒng)(如實(shí)時(shí)Linux等)發(fā)展。RTOS從支持強(qiáng)實(shí)時(shí)及其應(yīng)用發(fā)展到既支持強(qiáng)實(shí)時(shí)也支持弱實(shí)時(shí)及其應(yīng)用方面,如開放實(shí)時(shí)系統(tǒng)的服務(wù)質(zhì)量(QoS)多媒體應(yīng)用、復(fù)雜分布式實(shí)時(shí)系統(tǒng)等。
現(xiàn)在使用的RTOS包括實(shí)時(shí)內(nèi)核(μC/OS等)、基于組件的內(nèi)核(如OS-Kit、Coyote、2K、MMLite等)、基于QoS的內(nèi)核、通用操作系統(tǒng)的實(shí)時(shí)變種(如RT-Linux、RTAI-Linux、實(shí)時(shí)Windows NT/XP)等。目前很多RTOS遵循Posix實(shí)時(shí)擴(kuò)展的工業(yè)標(biāo)準(zhǔn),如RT-Linux等。