百科解釋
RTOS是Real Time Operation System的縮寫,即實時操作系統(tǒng)! IRTOS指支持I2O協(xié)議的實時操作系統(tǒng),也即支持I2O規(guī)范的核心應用程序接口與外殼應用程序定義的實時操作系統(tǒng)。IRTOS為設備驅動程序提供的環(huán)境與桌面操作系統(tǒng)為應用軟件提供的環(huán)境相類似。使用IRTOS的最大好處在于驅動程序的可互操作性,可重復利用性和可移植性。IRTOS提供了各種第三方I2O設備驅動程序共存的環(huán)境,并提供了一種稱為中間服務模塊(intermediate service modules)的增值軟件的運行框架。 (1)更加面向硬件系統(tǒng),而不是操作者 嵌入式系統(tǒng)處理器一般都是獨立工作的,沒有人的直接參與;即使參與,也沒有大量的文字信息輸出,這是和桌面計算機有所不同的。因此RTOS著重面向的是硬件,而不是具有完整的人機界面。 (2)實時性 單片機系統(tǒng)的監(jiān)測、控制、通信等工作都要求實時性,一旦出現有關情況,CPU能夠及時響應,刻不容緩。為此,一個實用的RTOS都應具有完善的中斷響應機制,保證中斷響應潛伏時間足夠短。 (3)多任務 半導體技術的發(fā)展和應用復雜性的增長促使CPU的處理能力越來越高,當今的一片16位或32位單片機,在運算速度、尋址能力等方面可以相當于8位單片機的幾十片之和。在這樣強大的處理器上運行應用程序,必然不是整塊,而是根據所要實現的若干方面功能,劃分為數個任務,這樣有利于軟件的開發(fā)和維護。 因此單片機系統(tǒng)中采用的RTOS必然是支持多任務的,并能夠根據各個任務的輕重緩急,合理地在它們之間分配CPU和各種資源的占用時間。 (4)不同的典型外設驅動支持 單片機的典型片內外設為定時器、A/D、PWM、D/A、串行口、LCD/LED接口,CAN-bus、IC-bus等。根據處理器類型的不同,RTOS在出廠時一般附帶若干上面硬件接口的驅動程度,而網卡等片外設備的驅動程序,以及其它一些高級驅動函數,如兼容DOS的文件系統(tǒng)、TCP/IP協(xié)議等,則需要另行選購。以RTOS為基礎和接口標準,可以設計出大量的庫函數驅動模塊,并根據實際需要選擇或裁剪。 (5)高可靠性 一般計算機的操作系統(tǒng)出現問題,例如死機,除數據丟失等外,不會有太大的問題;而單片機系統(tǒng)一般都是和工業(yè)控制、交通工具、醫(yī)用器械等機電系統(tǒng)密切相關,不適當的輸出甚至不及時的輸出都可能會帶來財產損失和安全問題。因此嵌入式系統(tǒng)中的RTOS要求高可靠性,發(fā)行之前必須經過嚴格的測試。這是一個耗費時間和精力的過程,也是RTOS價格普遍高于一般操作系統(tǒng)的原因之一。 1.RTOS是一個內核 典型的單片機程序在程序指針復位后,首先進行堆棧、中斷、中斷向量、定時器、串行口等接口設置、初始化數據存儲區(qū)和顯示內容,然后就來到了一個監(jiān)測、等待或空循環(huán),在這個循環(huán)中,CPU可以監(jiān)視外設、響應中斷或用戶輸入。 這段主程序可以看作是一個內核,內核負責系統(tǒng)的初始化和開放、調度其它任務,相當于C語言中的主函數。 RTOS就是這樣的一個標準內核,包括了各種片上外設初始化和數據結構的格式化,不必、也不推薦用戶再對硬件設備和資源進行直接操作,所有的硬件設置和資源訪問都要通過RTOS核心。硬件這樣屏蔽起來以后,用戶不必清楚硬件系統(tǒng)的每一個細節(jié)就可以進行開發(fā),這樣就減少了開發(fā)前的學習量。 一般來說,對硬件的直接訪問越少,系統(tǒng)的可靠性越高。RTOS是一個經過測試的內核,與一般用戶自行編寫的主程序內核相比,更規(guī)范,效率和可靠性更高。對于一個精通單片機硬件系統(tǒng)和編程的“老手”而言,通過RTOS對系統(tǒng)進行管理可能不如直接訪問更直觀、自由度大,但是通過RTOS管理能夠排除人為疏忽因素,提高軟件可靠性。 另外,高效率地進行多任務支持是RTOS設計從始至終的一條主線,采用RTOS管理系統(tǒng)可以統(tǒng)一協(xié)調各個任務,優(yōu)化CPU時間和系統(tǒng)資源的分配,使之不空閑、不擁塞。針對某種具體應用,精細推敲的應用程序不采用RTOS可能比采用RTOS能達到更高的效率;但是對于大多數一般用戶和新手而言,采用RTOS是可以提高資源利用率的,尤其是在片上資源不斷增長、產品可靠性和進入市場時間更重要的今天。 2.RTOS是一個平臺 RTOS建立在單片機硬件系統(tǒng)之上,用戶的一切開發(fā)工作都進行于其上,因此它可以稱作是一個平臺。采用RTOS的用戶不必花大量時間學習硬件,和直接開發(fā)相比起點更高。 RTOS還是一個標準化的平臺,它定義了每個應用任務和內核的接口,也促進了應用程序的標準化。應用程序標準化后便于軟件的存檔、交流、修改和擴展,為嵌入式軟件開發(fā)的工程化創(chuàng)造了條件、減少開發(fā)管理工作量。嵌入式軟件標準化推廣到社會后,可以促進軟件開發(fā)的分工,減少重復勞動,近來出現的建立于RTOS上的文件和通信協(xié)議庫函數產品等就是實例。 RTOS對于開發(fā)單位和開發(fā)者個人來說也是一種提高。引入RTOS的開發(fā)單位,相當于引入了一套行業(yè)中廣泛采用的嵌入式系統(tǒng)應用程序開發(fā)標準,使開發(fā)管理更簡易、有效;赗TOS和C語言的開發(fā),具有良好的可繼承性,在應用程序、處理器升級以及更換處理器類型時,現存的軟件大部分可以不經修改地移植過來。 對于開發(fā)人員來說,則相當于在程序設計中采用一種標準化的思維方式,提高知識創(chuàng)造的效率;同時因為具有類似的思路,可以更快地理解同行其它人員的創(chuàng)造成果。 單片機處理器能力的提高和應用程序功能的復雜化、精確化,迫使應用程序劃分為多個重要性不同的任務,在各任務間優(yōu)化地分配CPU時間和系統(tǒng)資源,同時還要保證實時性?坑脩糇约壕帉懸粋實現上述功能的內核一般是不現實的,而這種需求又是普遍的。在這種形勢之下,由專業(yè)人員編寫的、滿足大多數用戶需要的高性能RTOS內核就是一種必然結果了。 對程序實時性和可靠性要求的提高也是RTOS發(fā)展的一個原因。此外,單片機系統(tǒng)軟件開發(fā)日趨工程化,產品進入市場時間不斷縮短,也迫使管理人員尋找一種有利于程序繼承性、標準化、多人并行開發(fā)的管理方式。從長遠的意義上來講,RTOS的推廣能夠帶來嵌入式軟件工業(yè)更有效、更專業(yè)化的分工,減少社會重復勞動、提高勞動生產率。 (1)任務 任務(Task)是RTOS中最重要的操作對象,每個任務在RTOS的調用下由CPU分時執(zhí)行。激活的或當前任務是CPU正在執(zhí)行的任務,休眠的任務是在存儲器中保留其執(zhí)行的上下文背景、一旦切換為當前任務即可從上次執(zhí)行的末尾繼續(xù)執(zhí)行的任務。任務的調度目前主要有時間分片式(TimeSlicing)、輪流查詢式(Round-Robin)和優(yōu)先搶占式(Preemptive)三種,不同的RTOS可能支持其中的一種或幾種,其中優(yōu)先搶占式對實時性的支持最好。 (2)任務切換 RTOS管理下的系統(tǒng)CPU和系統(tǒng)資源的時間是同時分配給不同任務的,這樣看起來就象許多任務在同時執(zhí)行,但實際上每個時刻只有一個任務在執(zhí)行,也就是當前任務。任務的切換有兩種原因。當一個任務正常地結束操作時,它就把CPU控制權交給RTOS,RTOS則檢查任務隊列中的所有任務,判斷下面那個任務的優(yōu)先級最高,需要先執(zhí)行。另一種情況是在一個任務執(zhí)行時,一個優(yōu)先級更高的任務發(fā)生了中斷,這時RTOS就將當前任務的上下文保存起來,切換到中斷任務。RTOS經常性地整理任務隊列,刪除結束的任務,增加新的要執(zhí)行任務,并將其按照優(yōu)先級從大到小的順序排列起來,這樣可以合理地在各個任務之間分配系統(tǒng)資源。 (3)消息和郵箱 消息(Message)和郵箱(Mailbox)是RTOS中任務之間數據傳遞的載體和渠道,一個任務可以有多個郵箱。通過郵箱,各個任務之間可以異步地傳遞信息,沒有占用CPU時間的查詢和等待。當RTOS包含片上總線接口驅動功能時,各個單片機之間的通信也通過郵箱的方式來進行,用戶并不需要了解更深的關于硬件的內容。 (4)旗語 旗語(Semaphore)相當于一種標志(Flag),通過預置,一個事件的發(fā)生可以改變旗語。一個任務可以通過監(jiān)測旗語的變化來決定其行動,在監(jiān)測旗語變化的時候不消耗CPU時間,旗語對任務的觸發(fā)是由RTOS來完成的。通過使用旗語,一個任務在等待事件變化的時候就可以不必不斷查詢,而把CPU時間出讓給其它任務。 (5)存儲區(qū)分配 RTOS對系統(tǒng)存儲區(qū)進行統(tǒng)一分配,分配的方式可以是動態(tài)的或靜態(tài)的,每個任務在需要存儲區(qū)時都要向RTOS內核申請。RTOS通過使用存儲分配類核心對象管理數據存儲器,在動態(tài)分配時能夠防止存儲區(qū)的零碎化。 (6)中斷和資源管理 RTOS提供了一種通用的設計用于中斷管理,有效率而靈活,這樣可以實現最小的中斷潛伏時間和最大的中斷響應度。RTOS內核中的資源對象類則實現了對系統(tǒng)實體資源或虛擬資源的獨占式訪問,一個任務可以取得對資源的唯一訪問權,其它任務在資源釋放以前無法訪問,這樣可以避免資源沖突。設計完善的RTOS具有檢查可能導致系統(tǒng)死鎖的資源調用設計。 當你在電子雜志上尋找RTOS的時候,可能會發(fā)現世界上研制RTOS產品的公司多得令你無所適從;但是仔細閱讀后會發(fā)現,它們的產品可能只覆蓋幾種處理器,而且是你所不熟悉的。目前產品比較全面的公司主要有美國的CMXCompany和EmbeddedSystemProducts(ESP),Inc.,它們對中國單片機工業(yè)流行的單片機,如8051,251,196/296,P51XA,68xxx等都有RTOS及其相關的接口庫函數產品,提供源程序代碼,沒有每個產品的二進制版稅。其中CMX公司的產品價格略低,較適合中國市場;而ESP公司的產品則有較豐富的庫函數支持
移動通信網 | 通信人才網 | 更新日志 | 團隊博客 | 免責聲明 | 關于詞典 | 幫助