嵌入式RTOS系統(tǒng)是什么?
在嵌入式應(yīng)用領(lǐng)域,很多場合對系統(tǒng)的實(shí)時(shí)性要求嚴(yán)格,因此操作系統(tǒng)的選擇要基于實(shí)時(shí)系統(tǒng)。實(shí)時(shí)多任務(wù)操作系統(tǒng)(Real Time Operating System,簡稱RTOS)是根據(jù)操作系統(tǒng)的工作特性而言的,實(shí)時(shí)是指物理進(jìn)程的真實(shí)時(shí)間。
本文引用地址:http://m.butianyuan.cn/article/202210/439149.htm基本信息
在嵌入式應(yīng)用領(lǐng)域,很多場合對系統(tǒng)的實(shí)時(shí)性要求嚴(yán)格,因此操作系統(tǒng)的選擇要基于實(shí)時(shí)系統(tǒng)。實(shí)時(shí)多任務(wù)操作系統(tǒng)(Real Time Operating System,簡稱RTOS)是根據(jù)操作系統(tǒng)的工作特性而言的,實(shí)時(shí)是指物理進(jìn)程的真實(shí)時(shí)間。實(shí)時(shí)操作系統(tǒng)是指具有實(shí)時(shí)性,能支持實(shí)時(shí)控制系統(tǒng)工作的操作系統(tǒng)。其首要任務(wù)是調(diào)度一切可利用的資源完成實(shí)時(shí)控制任務(wù),其次才著眼于提高計(jì)算機(jī)系統(tǒng)的使用效率,重要特點(diǎn)是要滿足對時(shí)間的限制和要求。
通常對于分時(shí)操作系統(tǒng),軟件的執(zhí)行在時(shí)間上的要求并不嚴(yán)格,時(shí)間上的錯(cuò)誤一般不會造成災(zāi)難性的后果。但對于實(shí)時(shí)操作系統(tǒng),主要任務(wù)是要求對事件進(jìn)行實(shí)時(shí)的處理,雖然事件可能在無法預(yù)知的時(shí)刻到達(dá).但是軟件上必須在事件發(fā)生時(shí)能夠在嚴(yán)格的時(shí)限內(nèi)做出響應(yīng)(系統(tǒng)響應(yīng)時(shí)間),即使能夠響應(yīng),但是如果超出了時(shí)限,系統(tǒng)時(shí)間響應(yīng)的超時(shí)就意味著致命的失敗。實(shí)時(shí)操作系統(tǒng)的重要特點(diǎn)是具有系統(tǒng)的可確定性,即系統(tǒng)能對運(yùn)行情況的最好和最壞等情況能做出精確的估計(jì)。
實(shí)時(shí)多任務(wù)操作系統(tǒng)(RTOS)是嵌入式應(yīng)用軟件的基礎(chǔ)和開發(fā)平臺。大多數(shù)嵌入式開發(fā)還是在單片機(jī)上直接進(jìn)行,沒有RTOS,但仍要有一個(gè)主程序負(fù)責(zé)調(diào)度各個(gè)任務(wù)。RTOS是一段嵌入在目標(biāo)代碼中的程序,系統(tǒng)復(fù)位后首先執(zhí)行,相當(dāng)于用戶的主程序,用戶的其他應(yīng)用程序都建立在RTOS之上。不僅如此,RTOS還是一個(gè)標(biāo)準(zhǔn)的內(nèi)核,將CPU時(shí)間、中斷、I/O、定時(shí)器等資源都包裝起來,留給用戶一個(gè)標(biāo)準(zhǔn)的API(系統(tǒng)調(diào)用),并根據(jù)各個(gè)任務(wù)的優(yōu)先級,合理地在不同任務(wù)之間分配CPU時(shí)間。
RTOS是針對不同處理器優(yōu)化設(shè)計(jì)的高效率實(shí)時(shí)多任務(wù)內(nèi)核,RTOS可以面對幾十個(gè)系列的嵌入式處理器MPU、MCU、DSP、SOC等提供類同的API接口,這是RTOS基于設(shè)備獨(dú)立的應(yīng)用程序開發(fā)基礎(chǔ)。因此,基于RTOS的C語言程序具有極大的可移植性。據(jù)專家測算,優(yōu)秀RTOS上跨處理器平臺的程序移植只需要修改1%~4%的內(nèi)容。在RTOS基礎(chǔ)上可以編寫出各種硬件驅(qū)動程序、專家?guī)旌瘮?shù)、行業(yè)庫函數(shù)、產(chǎn)品庫函數(shù),和通用性的應(yīng)用程序一起,可以作為產(chǎn)品銷售,促進(jìn)行業(yè)的知識產(chǎn)權(quán)交流。因此,RTOS又是一個(gè)軟件開發(fā)平臺。
發(fā)展過程
實(shí)時(shí)操作系統(tǒng)(RTOS)的研究是從20世紀(jì)60年代開始的。從系統(tǒng)結(jié)構(gòu)上看,RTOS到現(xiàn)在已經(jīng)歷了如下三個(gè)階段:
早期的實(shí)時(shí)操作系統(tǒng)
早期的實(shí)時(shí)操作系統(tǒng),還不能稱為真正的RTOS,它只是小而簡單的、帶有一定專用性的軟件,功能較弱,可以認(rèn)為是一種實(shí)時(shí)監(jiān)控程序。它一般為用戶提供對系統(tǒng)的初始化管理以及簡單的實(shí)時(shí)時(shí)鐘管理,有的實(shí)時(shí)監(jiān)控程序也引入了任務(wù)調(diào)度及簡單的任務(wù)間協(xié)調(diào)等功能,屬于這類實(shí)時(shí)監(jiān)控程序的有RTMX等。這個(gè)時(shí)期,實(shí)時(shí)應(yīng)用較簡單,實(shí)時(shí)性要求也不高。應(yīng)用程序、實(shí)時(shí)監(jiān)控程序和硬件運(yùn)行平臺往往是緊密聯(lián)系在一起的。
專用實(shí)時(shí)操作系統(tǒng)
專用實(shí)時(shí)操作系統(tǒng),隨著應(yīng)用的發(fā)展,早期的RTOS已越來越顯示出明顯的不足了。有些實(shí)時(shí)系統(tǒng)的開發(fā)者為了滿足實(shí)時(shí)應(yīng)用的需要,自己研制與特定硬件相匹配的實(shí)時(shí)操作系統(tǒng)。這類專用實(shí)時(shí)操作系統(tǒng)在國外稱為Real—Time Operating System Developed in House。它是在早期用戶為滿足自身開發(fā)需要而研制的。一般只能適用于特定的硬件環(huán)境,且缺乏嚴(yán)格的評測,移植性也不太好。屬于這類實(shí)時(shí)操作系統(tǒng)的有Intel公司的iMAX86等。
通用實(shí)時(shí)操作系統(tǒng)
在各種專用RTOS中,一些多任務(wù)的機(jī)制如基于優(yōu)先級的調(diào)度、實(shí)時(shí)時(shí)鐘管理、任務(wù)間的通信、同步互斥機(jī)構(gòu)等基本上是相同的,不同的只是面向各自的硬件環(huán)境與應(yīng)用目標(biāo)。實(shí)際上,相同的多任務(wù)機(jī)制是能夠共享的,因而可以把這部分很好地組織起來,形成一個(gè)通用的實(shí)時(shí)操作相同內(nèi)核。這類實(shí)時(shí)操作系統(tǒng)大多采用軟組件結(jié)構(gòu),以一個(gè)個(gè)軟件“標(biāo)準(zhǔn)組件”構(gòu)成通用的實(shí)時(shí)操作系統(tǒng),一方面,在RTOS內(nèi)核的最底層將不同的硬件特性屏蔽掉;另一方面.對不同的應(yīng)用環(huán)境提供了標(biāo)準(zhǔn)的、可剪裁的系統(tǒng)服務(wù)軟組件。這使得用戶可根據(jù)不同的實(shí)時(shí)應(yīng)用要求及硬件環(huán)境選擇不同的軟組件,也使得實(shí)時(shí)操作系統(tǒng)開發(fā)商在開發(fā)過程中減少了重復(fù)性工作。這類通用實(shí)時(shí)操作系統(tǒng),有Integrated System公司的psosystem,Intel公司的iRMX386,Ready System公司(后與MicrotecResearch合并)的VRTX32,WindRiver SystomS公司(位于美國加州Almeda市)的VxworkS,Accelerated Technology Inc公司的NuclouS PLUS等。它們一般都提供了實(shí)時(shí)性較好的內(nèi)核、多種任務(wù)通信機(jī)制、基于TCP/IP的網(wǎng)絡(luò)組件、文件管理及I/O服務(wù),提供了集編輯、編譯、調(diào)試、仿真為一體的集成開發(fā)環(huán)境,支持用戶使用C、C++進(jìn)行應(yīng)用程序的開發(fā)。
評論