實時操作系統(tǒng)課件_第1頁
實時操作系統(tǒng)課件_第2頁
實時操作系統(tǒng)課件_第3頁
實時操作系統(tǒng)課件_第4頁
實時操作系統(tǒng)課件_第5頁
已閱讀5頁,還剩27頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第10章嵌入式實時操作系統(tǒng) 隨著微控制器應用領域的不斷擴展和深入, 在許多較為復雜的應用系統(tǒng)中,要求能夠同時處理多項工作或任務, 可以靈活地為多個任務調度系統(tǒng)的資源(如CPU 、存儲器等) , 簡化那些復雜而且時間要求嚴格的工程軟件設計工作; 前后臺系統(tǒng)已經很難滿足這樣的要求, 而嵌入式實時操作系統(tǒng)為這些應用提供了可能, 同時微控制器技術的發(fā)展(如更大的ROM 和RAM 空間) 也為嵌入式操作系統(tǒng)的應用提供了相應的硬件平臺。7/21/20221 10.1.1 基本概念嵌入式應用技術包括嵌入式硬件和嵌入式軟件兩部分。嵌入式軟件包括操作系統(tǒng)軟件與應用軟件。嵌入式系統(tǒng)的基本特點是: 高效、強壯; 沒

2、有復雜的用戶接口; 具有實時和多任務支持、特別是部件特性。嵌入式操作系統(tǒng)(embedded operating system , EOS) 具有普通操作系統(tǒng)的基本特征, 還具有專門應用系統(tǒng)的技術特點: 高效和高可靠性、有小的和可以剪裁的系統(tǒng)內核、一般是固化存儲的; 較強的實時性、支持多任務與多進程、能夠提供各種設備驅動、提供友好的圖形界面、提供TCPIP 等多種網絡協(xié)議。嵌入式操作系統(tǒng)也應當提供在線或離線的開發(fā)系統(tǒng)和仿真調試工具。實時操作系統(tǒng)(realtime operating system , RTOS) 是具有高度實時性的操作系統(tǒng)。和通用操作系統(tǒng)不同, 實時操作系統(tǒng)能夠以短而確定的任務級

3、響應時間, 完成任務的切換, 所以主要應用于過程控制、數據采集、通信和多媒體信息處理等對時間敏感的場合。7/21/20222 10.1.2 嵌入式實時操作系統(tǒng)技術特點軟實時僅要求對事件的響應是實時的, 但是不限定該任務的完成時間; 硬實時不僅要求對任務的實時響應, 還規(guī)定該任務在規(guī)定的時間周期內完成對事件的處理。嵌入式操作系統(tǒng)應當具有多任務和基于優(yōu)先級的任務調度能力, 優(yōu)化的資源管理、時鐘服務和中斷服務。7/21/20223 嵌入式實時操作系統(tǒng)的主要技術特性() 內核的占先特性。當系統(tǒng)時間響應很重要時, 要使用占先式內核。() 調度策略。 選擇基于優(yōu)先級調度的算法足以滿足準實時系統(tǒng)的要求, 而

4、且可以提供高速的響應和大的系統(tǒng)吞吐率; 如果兩個或兩個以上任務有同樣優(yōu)先級, 通常用時間片輪轉法進行調度; 硬實時系統(tǒng)則需要使用調度方式簡單, 反應速度快的實時調度算法。() 任務優(yōu)先級分配方法。() 時間的可確定性。系統(tǒng)服務的執(zhí)行時間不依賴于應用程序任務的多少。系統(tǒng)完成某個確定任務的時間是可預測的。7/21/20224 實時操作系統(tǒng)的功能()多任務管理以及快速的任務切換。() 任務之間的通信與同步。() 高精度的時鐘控制。() 高效率的內存管理。() 安全穩(wěn)定的文件系統(tǒng)管理。() 方便快捷的網絡服務。7/21/20225 3實時操作系統(tǒng)的任務調度方式調度方式就是指操作系統(tǒng)如何從就緒任務隊列中

5、選擇一個任務進入運行狀態(tài)的機制。多任務操作系統(tǒng)按照任務調度方式可以分為搶占式和協(xié)作式兩類。搶占式多任務操作系統(tǒng)中, 由系統(tǒng)時鐘來確定處理器由一個任務轉移去執(zhí)行另外一個任務的時刻, 轉移時刻是由系統(tǒng)以某種調度策略預先確定的協(xié)作式多任務操作系統(tǒng)中, 多個應用程序聯(lián)合協(xié)作, 通過某種通信方式來共享處理器, 但并不是真正意義上的多任務操作系統(tǒng), 難以在多任務操作系統(tǒng)上實現實時應用。搶占式調度的性能比較好, 但是需要解決共享代碼的可重入性問題; 而非搶占式調度相對比較簡單, 易于擴展。7/21/20226 實時操作系統(tǒng)的調度算法()先來先服務調度算法(first come first service s

6、cheduling ,FCFS)這種調度算法非常簡單, 易于實現; 這種調度算法的缺點是不能保證系統(tǒng)的實時性能。()按照時間片循環(huán)輪轉調度算法(roundrobin scheduling)多個任務平均地取得系統(tǒng)處理器控制權, 大多用于分時操作系統(tǒng)之中, 做到公平合理地為各個終端用戶服務。這種調度算法也不能保證系統(tǒng)的實時性能。()優(yōu)先級調度算法(priority first scheduling)預先指定各個任務的優(yōu)先級, 在進行調度時從就緒任務隊列中選擇優(yōu)先級最高的任務進入運行狀態(tài)。這種調度算法簡單, 并且能夠迅速地響應高優(yōu)先級的任務, 具有較好的實時性能。缺點是一旦高優(yōu)先級的任務出現故障,

7、例如, 死循環(huán)等, 將會影響系統(tǒng)中其他低優(yōu)先級任務的運行()時間片循環(huán)輪轉的優(yōu)先級調度算法( priority first with roundrobin scheduling)就是優(yōu)先級調度算法加上時間片循環(huán)輪轉調度算法, 優(yōu)先權有高低的時候,采用優(yōu)先級調度算法; 若是優(yōu)先權相同, 則采用時間片循環(huán)輪轉調度算法。7/21/20227 實時調度機制實時調度機制是實時操作系統(tǒng)的重要機制之一; 調度機制決定在某一時刻,哪一個實時任務可以運行。在實時環(huán)境下, 調度機制必須考慮到實時任務響應的時限, 這樣的一種調度機制必須滿足以下兩個基本條件: 系統(tǒng)中每一個實時任務都有合理的機會被調度運行; 一些優(yōu)先

8、級更高的實時任務應該獲得相對于其他任務更好的運行機會。對于實時操作系統(tǒng)來說, 實時調度機制應該盡可能地減小系統(tǒng)響應時間以保證實時性能。因此實時操作系統(tǒng)大多采用基于優(yōu)先級的搶占式調度機制。7/21/20228 實時調度模塊的基本功能實時操作系統(tǒng)的調度模塊主要功能是: 把當前運行任務從運行狀態(tài)轉換為其他狀態(tài), 以及把另外一個任務從就緒狀態(tài)轉換為運行狀態(tài)。在實時操作系統(tǒng)中, 一個調度模塊應該完成以下基本功能: 當前運行任務與其他任務優(yōu)先級的比較; 保存當前運行任務現場信息; 從就緒隊列中按照一定的規(guī)則選出一個任務進入運行狀態(tài); 恢復即將進入運行狀態(tài)的任務的現場信息; 將處理器控制權交給新任務。7/2

9、1/20229 嵌入式實時操作系統(tǒng)的性能指標()任務切換時間(task switching time)它包括三個部分, 即保存當前任務上下文的時間、調度程序選中新任務的時間和恢復新任務上下文的時間。()搶占時間(preemption time)系統(tǒng)將控制從低優(yōu)先級的任務轉移到高優(yōu)先級任務所花費的時間。搶占時間中包括了任務切換時間。(3)中斷延遲時間(interrupt latency time)也稱中斷響應時間, 指從中斷到第一條指令所持續(xù)的時間間隔。它由四部分組成, 即硬件延遲部分(通??梢院雎圆挥嫞?、ERTOS 的關中斷時間、處理器完成當前指令的時間以及中斷響應周期的時間。(4)信號量混

10、洗時間(semaphore shuffling time)信號量混洗時間反映了與互斥有關的時間開銷, 因此也是衡量ERTOS 實時性能的一個重要指標。() 死鎖解除時間(deadlock breaking time)系統(tǒng)解開處于死鎖狀態(tài)的多個任務所需花費的時間。死鎖解除時間反映了RTOS 解決死鎖的算法效率。() 數據包吞吐率(datagram throughput time)7/21/202210 5嵌入式實時操作系統(tǒng)的分類實時內核是嵌入式實時操作系統(tǒng)的核心, 它對多個任務進行調度、管理、保證應用程序的實時性。根據實時內核的占先特性, 可把嵌入式實時操作系統(tǒng)分為: 使用非占先式內核的嵌入式實

11、時操作系統(tǒng)和使用占先式內核的嵌入式實時操作系統(tǒng)。() 使用非占先式(nonpreemptive) 內核的嵌入式實時操作系統(tǒng)非占先式內核是指每個任務應自我放棄CPU 的所有權, 非占先式調度法也稱作協(xié)作型多任務, 各個任務彼此合作共享一個CPU 。非占先式內核的優(yōu)點是: 可以使用不可重入函數 幾乎不需要使用信號量保護共享數據非占先式內核的最大缺陷在于其響應時間, 高優(yōu)先級的任務已經進入就緒態(tài), 但還不能運行, 也許要等很長時間, 直到當前運行著的任務釋放CPU 。7/21/202211 5嵌入式實時操作系統(tǒng)的分類() 使用占先式(preemptive) 內核的嵌入式實時操作系統(tǒng) 當系統(tǒng)響應時間很

12、重要時, 要使用占先式內核。 使用占先式內核, 最高優(yōu)先級的任務什么時候可以執(zhí)行, 可以得到CPU 的控制權是可知的。使用占先式內核使得任務級響應時間得以最優(yōu)化。 占先式內核總是讓就緒態(tài)的高優(yōu)先級的任務先運行, 中斷服務程序可以搶占CPU , 到中斷服務完成時, 內核讓此時優(yōu)先級最高的任務運行。任務級系統(tǒng)響應時間得到了優(yōu)化, 且是可知的。7/21/202212 使用嵌入式實時操作系統(tǒng)的優(yōu)缺點() 使用嵌入式實時操作系統(tǒng)的優(yōu)點。 將應用程序分解為可單獨編程的若干個任務, 大大簡化了應用系統(tǒng)的程序設計。 實時性好, 特別是使用占先式實時內核。 有助于提高系統(tǒng)的穩(wěn)定性和可靠性。 與目前廣泛應用的前后

13、臺系統(tǒng)相比, 系統(tǒng)的軟件維護和功能擴展方便很多。() 使用嵌入式實時操作系統(tǒng)的缺點。 實時內核本身要占用一定數量的額外內存, 包括ROM 和RAM 。 CPU 要增加一定的的額外負荷, 不同的RTOS 對CPU 的負荷要求不同,一般大約在 。 如果使用商業(yè)RTOS 軟件, 需要增加額外的成本。當然也可選用免費的RTOS , 但一般支持和服務不一定能得到很好的保證。7/21/202213 嵌入式實時操作系統(tǒng)的選擇多任務功能是選擇實時操作系統(tǒng)要考慮的首要因素, 其他考慮是:() 在運行時能創(chuàng)建的任務數是否受限。() 支持哪些類型的過程間通信機制。() 時間片是否可調節(jié), 以便決定一個給定應用程序的

14、最佳時間片。() 操作系統(tǒng)是否支持優(yōu)先級繼承或某種其他保護措施, 以防止優(yōu)先級倒置。() 操作系統(tǒng)是否支持已經選定的同步對象。() 操作系統(tǒng)是否允許選擇調度算法。() 實時操作系統(tǒng)提供的任務切換時間可否接受。() 在添加更多任務(包括線程或過程) 時操作系統(tǒng)性能的下降是否在可接受的限度內。() 提供什么工具軟件支持, 開發(fā)工具尤其是調試程序是否很好地與操作系統(tǒng)集成在一起。7/21/202214 10.2.1 嵌入式實時操作系統(tǒng)RTX51RTX 是德國Keil 公司開發(fā)的一種應用于MCS 系列單片機的實時多任務操作系統(tǒng), 它可以工作在所有 單片機以及派生家族中, 可以簡化復雜的軟件設計, 縮短項

15、目開發(fā)周期。7/21/202215RTX 的 種模式7/21/202216 RTX 的任務快速任務有很快的響應速度, 每個快速任務使用一個單獨的寄存器組,并且有自己的堆棧區(qū)域。RTX 最多支持同時有個快速任務。標準任務需要多一點的時間來進行任務切換, 因此使用的內部RAM 相對快速任務要少, 所有的標準任務共用個寄存器組和堆棧。當任務切換的時候, 當前任務的寄存器狀態(tài)和堆棧內容轉移到外部存儲器中。RTX 最多支持個標準任務。RTX 任務狀態(tài)如下:() 運行(RUNNING) () 就緒(READY)() 阻塞(BLOCKED)() 刪除(DELETED)() 任務切換7/21/202217 R

16、TX 的事件管理機制() 超時(timeout) : 掛起運行的任務指定數量的時鐘周期() 間隔(interval) : 類似于超時, 但是軟件定時器沒有復位, 典型應用是產生時鐘。() 信號(signal) : 用于任務內部同步協(xié)調。() 消息(message) : 適用于RTX Full , 用于信息的交換, 可以把一個消息發(fā)送到一個特定的郵箱。() 中斷(interrupt) : 適用于RTX Full ,一個任務可以等待8051 硬件中斷。() 信號量(semaphore) : 適用于RTX Full , 信號量用于管理共享的系統(tǒng)資源。() os wait ( ) 函數: 掛起一個任務

17、來等待一個事件的發(fā)生。7/21/202218 RTX 的中斷處理RTX 完全模式提供兩種方法來處理中斷: 一種是C 的中斷函數, 另一種是RTX 的任務中斷。它又可以分為快速任務中斷和標準任務中斷。() 中斷函數。當中斷發(fā)生的時候, 程序就跳到了相應的中斷函數, 它和正在運行的任務是相互獨立的, 中斷的處理是在RTX 系統(tǒng)之外, 和任務切換規(guī)則沒有關聯(lián)。() 任務中斷。不管使用快速還是標準任務來處理任務中斷, 如果中斷發(fā)生, 等待中斷的任務就從“等待” 狀態(tài)進入到就緒狀態(tài), 并按照任務切換規(guī)則進行切換。7/21/202219 嵌入式實時操作系統(tǒng)COS COS 是一個完整的, 可移植、固化、裁剪

18、的占先式實時多任務內核??捎糜诟黝愇?、 位和 位單片機或DSP 。它用ANSI 的C 語言編寫, 包含一小部分匯編語言代碼, 使之可供不同架構的微控制器使用。COS 的實際對象是嵌入式系統(tǒng), 至今, 從 位到 位, COS 已在超過 種不同架構的微控制器上運行。7/21/202220 COS 的特點() 源代碼開放() 可移植性(portable)() 可固化(ROMable)() 可裁剪(scalable)() 可占先式性(preemptive)() 多任務() 可確定性() 任務棧() 系統(tǒng)服務() 中斷管理() 穩(wěn)定性與可靠性7/21/202221 . 嵌入式實時操作系統(tǒng)的移植與應用嵌入

19、式實時操作系統(tǒng)在 位微控制器上應用還有一定的限制,主要問題是: 位微控制器有限的資源與充分發(fā)揮嵌入式實時操作系統(tǒng)功能的平臺需求之間的矛盾, 因此影響了它們的實用性。7/21/202222 10.3.1 RTX51 在單片機控制的GPS 接收板上的應用 系統(tǒng)硬件組成單片機WE : 快速內核、KB ROM 、KB 的XDATA RAM , 符合使用RTX的硬件要求;鍵盤、GPS 定位模塊和液晶顯示模塊。 系統(tǒng)軟件構成軟件運行環(huán)境KEIL uVision6.20 集成開發(fā)環(huán)境加上RTX51完全版。7/21/202223 任務KEY BOARD ,監(jiān)測鍵盤的情況,如果有按鍵按下,把按鍵的編碼發(fā)送到郵箱,外部中斷等待接收GPS 數據,并把數據存儲起來,向DISPLAY 任務發(fā)出信號,進行處理。任務SEND OUT,把接收到的數據進行處理,并發(fā)送出去。任務VOICE 進行語音輸出。7/21/202224 7/21/202225 7/21/202226 7/21/202227 10.3.2 占先式實時內核COS 在MC68HC908GP32上的移植需要做兩方面的工作: 一是重新定義內核的大小和功能; 二是為內核編寫與硬件相關的代碼。 內核的大小和功能的重新定義首先是編寫整個項目的公共頭文件INCLUDES.H , 這個文件會被所有的C

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論