RTOS是RealTimeOperationSystem的縮寫,即實時作業系統!IRTOS指支持I2O協定的實時作業系統,也即支持I2O規範
的核心應用程式接口與外殼套用程序定義的實時作業系統。IRTOS為設備驅動程式提供的環境與桌面作業系統為套用軟體提供的環境相類似。使用IRTOS的最大好處在於驅動程式的可互操作性,可重複利用性和可移植性。IRTOS提供了各種第三方I2O設備驅動程式共存的環境,並提供了一種稱為中間服務模組(intermediateservicemodules)的增值軟體的運行框架。這個技術在國內最近幾年才開始逐漸被計算機的專業人員、有關公司等所了解、掌握、套用,在國外大概也就二十年左右的歷史!目前RTOS主要有VxWorks、uC/OS、rtems、rtLinux等.
進程Rtos
Rtos進程信息
進程名稱:Rtos
英文描述:rtos.exeisaprocessassociatedwiththePharLapETS12.0softwarefromVenturcomthathandlesthekernelportion.
進程分析:rtos.exe是Venturcom公司PharLapETS12.0軟體相關程式。
進程位置:unknown
程式用途:unknown
作者:Venturcom,Inc.
屬於:unknown
安全等級(0-5):0(N/A無危險5最危險)
間碟軟體:否
廣告軟體:否
病毒:否
木馬:否
系統進程:否
應用程式:是
後台程式:是
使用訪問:否
訪問網際網路:否
RTOS詳解
1.RTOS是一個核心
典型的單片機程式在程式指針復位後,首先進行堆疊、中斷、中斷向量、定時器、串列口等接口設定、初始化數據存儲區和顯示內容,然後就來到了一個監測、等待或空循環,在這個循環中,CPU可以監視外設、回響中斷或用戶輸入。
這段主程式可以看作是一個核心,核心負責系統的初始化和開放、調度其它任務,相當於C語言中的主函式。
RTOS就是這樣的一個標準核心,包括了各種片上外設初始化和數據結構的格式化,不必、也不推薦用戶再對硬體設備和資源進行直接操作,所有的硬體設定和資源訪問都要通過RTOS核心。硬體這樣禁止起來以後,用戶不必清楚硬體系統的每一個細節就可以進行開發,這樣就減少了開發前的學習量。
一般來說,對硬體的直接訪問越少,系統的可靠性越高。RTOS是一個經過測試的核心,與一般用戶自行編寫的主程式核心相比,更規範,效率和可靠性更高。對於一個精通單片機硬體系統和編程的“老手”而言,通過RTOS對系統進行管理可能不如直接訪問更直觀、自由度大,但是通過RTOS管理能夠排除人為疏忽因素,提高軟體可靠性。
另外,高效率地進行多任務支持是RTOS設計從始至終的一條主線,採用RTOS管理系統可以統一協調各個任務,最佳化CPU時間和系統資源的分配,使之不空閒、不擁塞。針對某種具體套用,精細推敲的應用程式不採用RTOS可能比採用RTOS能達到更高的效率;但是對於大多數一般用戶和新手而言,採用RTOS是可以提高資源利用率的,尤其是在片上資源不斷增長、產品可靠性和進入市場時間更重要的今天。
2.RTOS是一個平台
RTOS建立在單片機硬體系統之上,用戶的一切開發工作都進行於其上,因此它可以稱作是一個平台。採用RTOS的用戶不必花大量時間學習硬體,和直接開發相比起點更高。
RTOS還是一個標準化的平台,它定義了每個套用任務和核心的接口,也促進了應用程式的標準化。應用程式標準化後便於軟體的存檔、交流、修改和擴展,為嵌入式軟體開發的工程化創造了條件、減少開發管理工作量。嵌入式軟體標準化推廣到社會後,可以促進軟體開發的分工,減少重複勞動,近來出現的建立於RTOS上的檔案和通信協定庫函式產品等就是實例。
RTOS對於開發單位和開發者個人來說也是一種提高。引入RTOS的開發單位,相當於引入了一套行業中廣泛採用的嵌入式系統應用程式開發標準,使開發管理更簡易、有效。基於RTOS和C語言的開發,具有良好的可繼承性,在應用程式、處理器升級以及更換處理器類型時,現存的軟體大部分可以不經修改地移植過來。
對於開發人員來說,則相當於在程式設計中採用一種標準化的思維方式,提高知識創造的效率;同時因為具有類似的思路,可以更快地理解同行其它人員的創造成果。
RTOS的發展和壯大
單片機處理器能力的提高和應用程式功能的複雜化、精確化,迫使應用程式劃分為多個重要性不同的任務,在各任務間最佳化地分配CPU時間和系統資源,同時還要保證實時性。靠用戶自己編寫一個實現上述功能的核心一般是不現實的,而這種需求又是普遍的。在這種形勢之下,由專業人員編寫的、滿足大多數用戶需要的高性能RTOS核心就是一種必然結果了。
對程式實時性和可靠性要求的提高也是RTOS發展的一個原因。此外,單片機系統軟體開發日趨工程化,產品進入市場時間不斷縮短,也迫使管理人員尋找一種有利於程式繼承性、標準化、多人並行開發的管理方式。從長遠的意義上來講,RTOS的推廣能夠帶來嵌入式軟體工業更有效、更專業化的分工,減少社會重複勞動、提高勞動生產率。
RTOS的基本特徵
(1)任務
任務(Task)是RTOS中最重要的操作對象,每個任務在RTOS的調用下由CPU分時執行。激活的或當前任務是CPU正在執行的任務,休眠的任務是在存儲器中保留其執行的上下文背景、一旦切換為當前任務即可從上次執行的末尾繼續執行的任務。任務的調度目前主要有時間分片式(TimeSlicing)、輪流查詢式(Round-Robin)和優先搶占式(Preemptive)三種,不同的RTOS可能支持其中的一種或幾種,其中優先搶占式對實時性的支持最好。
(2)任務切換
RTOS管理下的系統CPU和系統資源的時間是同時分配給不同任務的,這樣看起來就象許多任務在同時執行,但實際上每個時刻只有一個任務在執行,也就是當前任務。任務的切換有兩種原因。當一個任務正常地結束操作時,它就把CPU控制權交給RTOS,RTOS則檢查任務佇列中的所有任務,判斷下面那個任務的優先權最高,需要先執行。另一種情況是在一個任務執行時,一個優先權更高的任務發生了中斷,這時RTOS就將當前任務的上下文保存起來,切換到中斷任務。RTOS經常性地整理任務佇列,刪除結束的任務,增加新的要執行任務,並將其按照優先權從大到小的順序排列起來,這樣可以合理地在各個任務之間分配系統資源。
(3)訊息和信箱
訊息(Message)和信箱(Mailbox)是RTOS中任務之間數據傳遞的載體和渠道,一個任務可以有多個信箱。通過信箱,各個任務之間可以異步地傳遞信息,沒有占用CPU時間的查詢和等待。當RTOS包含片上匯流排接口驅動功能時,各個單片機之間的通信也通過信箱的方式來進行,用戶並不需要了解更深的關於硬體的內容。
(4)旗語
旗語(Semaphore)相當於一種標誌(Flag),通過預置,一個事件的發生可以改變旗語。一個任務可以通過監測旗語的變化來決定其行動,在監測旗語變化的時候不消耗CPU時間,旗語對任務的觸發是由RTOS來完成的。通過使用旗語,一個任務在等待事件變化的時候就可以不必不斷查詢,而把CPU時間出讓給其它任務。
(5)存儲區分配
RTOS對系統存儲區進行統一分配,分配的方式可以是動態的或靜態的,每個任務在需要存儲區時都要向RTOS核心申請。RTOS通過使用存儲分配類核心對象管理數據存儲器,在動態分配時能夠防止存儲區的零碎化。
(6)中斷和資源管理
RTOS提供了一種通用的設計用於中斷管理,有效率而靈活,這樣可以實現最小的中斷潛伏時間和最大的中斷回響度。RTOS核心中的資源對象類則實現了對系統實體資源或虛擬資源的獨占式訪問,一個任務可以取得對資源的唯一訪問權,其它任務在資源釋放以前無法訪問,這樣可以避免資源衝突。設計完善的RTOS具有檢查可能導致系統死鎖的資源調用設計。
目前的RTOS類型
當你在電子雜誌上尋找RTOS的時候,可能會發現世界上研製RTOS產品的公司多得令你無所適從;但是仔細閱讀後會發現,它們的產品可能只覆蓋幾種處理器,而且是你所不熟悉的。目前產品比較全面的公司主要有美國的CMXCompany和EmbeddedSystemProducts(ESP),Inc.,它們對中國單片機工業流行的單片機,如8051,251,196/296,P51XA,68xxx等都有RTOS及其相關的接口庫函式產品,提供源程式代碼,沒有每個產品的二進制版稅。其中CMX公司的產品價格略低,較適合中國市場;而ESP公司的產品則有較豐富的庫函式支持 .