實時操作系統(tǒng)是一段在嵌入式系統(tǒng)啟動后首先執(zhí)行的背景程序,用戶的應(yīng)用程序是運行于RTOS之上的各個任務(wù),RTOS根據(jù)各個任務(wù)的要求,進行資源(包括存儲器、外設(shè)等)管理、消息管理、任務(wù)調(diào)度、異常處理等工作。在RTOS支持的系統(tǒng)中, 每個任務(wù)均有一個優(yōu)先級,RTOS根據(jù)各個任務(wù)的優(yōu)先級,動態(tài)地切換各個任務(wù),保證對實時性的要求。
實時多任務(wù)操作系統(tǒng),以分時方式運行多個任務(wù),看上去好象是多個任務(wù)“同時”運行。任務(wù)之間的切換應(yīng)當以優(yōu)先級為根據(jù),只有優(yōu)先服務(wù)方式的RTOS才是真正的實時操作系統(tǒng),時間分片方式和協(xié)作方式的RTOS并不是真正的“實時”。美國CMX公司的RTOS采用全優(yōu)先服務(wù)方式的任務(wù)調(diào)度,可以使中斷潛伏時間減到最小。其RTOS的主要功能模塊有調(diào)度和中斷處理(為了優(yōu)化用匯編編寫),任務(wù)管理,事件管理,定時器管理,報文管理,循環(huán)隊列管理,資源管理,固定存儲塊管理,規(guī)范的UART管理,自動掉電管理。這些也是標準的RTOS所應(yīng)具有的基本功能。RTOS也體現(xiàn)了一種新的系統(tǒng)設(shè)計思想和一個開放的軟件框架,工程師可以在不大量變動系統(tǒng)其它任務(wù)的情況下增加或去掉一個任務(wù);一個項目開發(fā)的過程中,可以有多個工程師同時進行系統(tǒng)的軟件開發(fā),各個人之間只要制訂好規(guī)程和協(xié)議即可,既縮短了開發(fā)時間,又降低了最終軟件產(chǎn)品對于具體某個開發(fā)者個人的依賴性。為RTOS設(shè)計的成熟和通用的任務(wù)可以以庫函數(shù)的形式供其它人繼續(xù)利用,和C語言的設(shè)計思想一致。因此可以說RTOS 是嵌入式軟件的編寫從“小生產(chǎn)方式”進入“大 生產(chǎn)方式”的必然產(chǎn)物。