




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第10章嵌入式實時操作系統(tǒng) 隨著微控制器應(yīng)用領(lǐng)域的不斷擴展和深入, 在許多較為復(fù)雜的應(yīng)用系統(tǒng)中,要求能夠同時處理多項工作或任務(wù), 可以靈活地為多個任務(wù)調(diào)度系統(tǒng)的資源(如CPU 、存儲器等) , 簡化那些復(fù)雜而且時間要求嚴(yán)格的工程軟件設(shè)計工作; 前后臺系統(tǒng)已經(jīng)很難滿足這樣的要求, 而嵌入式實時操作系統(tǒng)為這些應(yīng)用提供了可能, 同時微控制器技術(shù)的發(fā)展(如更大的ROM 和RAM 空間) 也為嵌入式操作系統(tǒng)的應(yīng)用提供了相應(yīng)的硬件平臺。7/21/20221 10.1.1 基本概念嵌入式應(yīng)用技術(shù)包括嵌入式硬件和嵌入式軟件兩部分。嵌入式軟件包括操作系統(tǒng)軟件與應(yīng)用軟件。嵌入式系統(tǒng)的基本特點是: 高效、強壯; 沒
2、有復(fù)雜的用戶接口; 具有實時和多任務(wù)支持、特別是部件特性。嵌入式操作系統(tǒng)(embedded operating system , EOS) 具有普通操作系統(tǒng)的基本特征, 還具有專門應(yīng)用系統(tǒng)的技術(shù)特點: 高效和高可靠性、有小的和可以剪裁的系統(tǒng)內(nèi)核、一般是固化存儲的; 較強的實時性、支持多任務(wù)與多進(jìn)程、能夠提供各種設(shè)備驅(qū)動、提供友好的圖形界面、提供TCPIP 等多種網(wǎng)絡(luò)協(xié)議。嵌入式操作系統(tǒng)也應(yīng)當(dāng)提供在線或離線的開發(fā)系統(tǒng)和仿真調(diào)試工具。實時操作系統(tǒng)(realtime operating system , RTOS) 是具有高度實時性的操作系統(tǒng)。和通用操作系統(tǒng)不同, 實時操作系統(tǒng)能夠以短而確定的任務(wù)級
3、響應(yīng)時間, 完成任務(wù)的切換, 所以主要應(yīng)用于過程控制、數(shù)據(jù)采集、通信和多媒體信息處理等對時間敏感的場合。7/21/20222 10.1.2 嵌入式實時操作系統(tǒng)技術(shù)特點軟實時僅要求對事件的響應(yīng)是實時的, 但是不限定該任務(wù)的完成時間; 硬實時不僅要求對任務(wù)的實時響應(yīng), 還規(guī)定該任務(wù)在規(guī)定的時間周期內(nèi)完成對事件的處理。嵌入式操作系統(tǒng)應(yīng)當(dāng)具有多任務(wù)和基于優(yōu)先級的任務(wù)調(diào)度能力, 優(yōu)化的資源管理、時鐘服務(wù)和中斷服務(wù)。7/21/20223 嵌入式實時操作系統(tǒng)的主要技術(shù)特性() 內(nèi)核的占先特性。當(dāng)系統(tǒng)時間響應(yīng)很重要時, 要使用占先式內(nèi)核。() 調(diào)度策略。 選擇基于優(yōu)先級調(diào)度的算法足以滿足準(zhǔn)實時系統(tǒng)的要求, 而
4、且可以提供高速的響應(yīng)和大的系統(tǒng)吞吐率; 如果兩個或兩個以上任務(wù)有同樣優(yōu)先級, 通常用時間片輪轉(zhuǎn)法進(jìn)行調(diào)度; 硬實時系統(tǒng)則需要使用調(diào)度方式簡單, 反應(yīng)速度快的實時調(diào)度算法。() 任務(wù)優(yōu)先級分配方法。() 時間的可確定性。系統(tǒng)服務(wù)的執(zhí)行時間不依賴于應(yīng)用程序任務(wù)的多少。系統(tǒng)完成某個確定任務(wù)的時間是可預(yù)測的。7/21/20224 實時操作系統(tǒng)的功能()多任務(wù)管理以及快速的任務(wù)切換。() 任務(wù)之間的通信與同步。() 高精度的時鐘控制。() 高效率的內(nèi)存管理。() 安全穩(wěn)定的文件系統(tǒng)管理。() 方便快捷的網(wǎng)絡(luò)服務(wù)。7/21/20225 3實時操作系統(tǒng)的任務(wù)調(diào)度方式調(diào)度方式就是指操作系統(tǒng)如何從就緒任務(wù)隊列中
5、選擇一個任務(wù)進(jìn)入運行狀態(tài)的機制。多任務(wù)操作系統(tǒng)按照任務(wù)調(diào)度方式可以分為搶占式和協(xié)作式兩類。搶占式多任務(wù)操作系統(tǒng)中, 由系統(tǒng)時鐘來確定處理器由一個任務(wù)轉(zhuǎn)移去執(zhí)行另外一個任務(wù)的時刻, 轉(zhuǎn)移時刻是由系統(tǒng)以某種調(diào)度策略預(yù)先確定的協(xié)作式多任務(wù)操作系統(tǒng)中, 多個應(yīng)用程序聯(lián)合協(xié)作, 通過某種通信方式來共享處理器, 但并不是真正意義上的多任務(wù)操作系統(tǒng), 難以在多任務(wù)操作系統(tǒng)上實現(xiàn)實時應(yīng)用。搶占式調(diào)度的性能比較好, 但是需要解決共享代碼的可重入性問題; 而非搶占式調(diào)度相對比較簡單, 易于擴展。7/21/20226 實時操作系統(tǒng)的調(diào)度算法()先來先服務(wù)調(diào)度算法(first come first service s
6、cheduling ,F(xiàn)CFS)這種調(diào)度算法非常簡單, 易于實現(xiàn); 這種調(diào)度算法的缺點是不能保證系統(tǒng)的實時性能。()按照時間片循環(huán)輪轉(zhuǎn)調(diào)度算法(roundrobin scheduling)多個任務(wù)平均地取得系統(tǒng)處理器控制權(quán), 大多用于分時操作系統(tǒng)之中, 做到公平合理地為各個終端用戶服務(wù)。這種調(diào)度算法也不能保證系統(tǒng)的實時性能。()優(yōu)先級調(diào)度算法(priority first scheduling)預(yù)先指定各個任務(wù)的優(yōu)先級, 在進(jìn)行調(diào)度時從就緒任務(wù)隊列中選擇優(yōu)先級最高的任務(wù)進(jìn)入運行狀態(tài)。這種調(diào)度算法簡單, 并且能夠迅速地響應(yīng)高優(yōu)先級的任務(wù), 具有較好的實時性能。缺點是一旦高優(yōu)先級的任務(wù)出現(xiàn)故障,
7、例如, 死循環(huán)等, 將會影響系統(tǒng)中其他低優(yōu)先級任務(wù)的運行()時間片循環(huán)輪轉(zhuǎn)的優(yōu)先級調(diào)度算法( priority first with roundrobin scheduling)就是優(yōu)先級調(diào)度算法加上時間片循環(huán)輪轉(zhuǎn)調(diào)度算法, 優(yōu)先權(quán)有高低的時候,采用優(yōu)先級調(diào)度算法; 若是優(yōu)先權(quán)相同, 則采用時間片循環(huán)輪轉(zhuǎn)調(diào)度算法。7/21/20227 實時調(diào)度機制實時調(diào)度機制是實時操作系統(tǒng)的重要機制之一; 調(diào)度機制決定在某一時刻,哪一個實時任務(wù)可以運行。在實時環(huán)境下, 調(diào)度機制必須考慮到實時任務(wù)響應(yīng)的時限, 這樣的一種調(diào)度機制必須滿足以下兩個基本條件: 系統(tǒng)中每一個實時任務(wù)都有合理的機會被調(diào)度運行; 一些優(yōu)先
8、級更高的實時任務(wù)應(yīng)該獲得相對于其他任務(wù)更好的運行機會。對于實時操作系統(tǒng)來說, 實時調(diào)度機制應(yīng)該盡可能地減小系統(tǒng)響應(yīng)時間以保證實時性能。因此實時操作系統(tǒng)大多采用基于優(yōu)先級的搶占式調(diào)度機制。7/21/20228 實時調(diào)度模塊的基本功能實時操作系統(tǒng)的調(diào)度模塊主要功能是: 把當(dāng)前運行任務(wù)從運行狀態(tài)轉(zhuǎn)換為其他狀態(tài), 以及把另外一個任務(wù)從就緒狀態(tài)轉(zhuǎn)換為運行狀態(tài)。在實時操作系統(tǒng)中, 一個調(diào)度模塊應(yīng)該完成以下基本功能: 當(dāng)前運行任務(wù)與其他任務(wù)優(yōu)先級的比較; 保存當(dāng)前運行任務(wù)現(xiàn)場信息; 從就緒隊列中按照一定的規(guī)則選出一個任務(wù)進(jìn)入運行狀態(tài); 恢復(fù)即將進(jìn)入運行狀態(tài)的任務(wù)的現(xiàn)場信息; 將處理器控制權(quán)交給新任務(wù)。7/2
9、1/20229 嵌入式實時操作系統(tǒng)的性能指標(biāo)()任務(wù)切換時間(task switching time)它包括三個部分, 即保存當(dāng)前任務(wù)上下文的時間、調(diào)度程序選中新任務(wù)的時間和恢復(fù)新任務(wù)上下文的時間。()搶占時間(preemption time)系統(tǒng)將控制從低優(yōu)先級的任務(wù)轉(zhuǎn)移到高優(yōu)先級任務(wù)所花費的時間。搶占時間中包括了任務(wù)切換時間。(3)中斷延遲時間(interrupt latency time)也稱中斷響應(yīng)時間, 指從中斷到第一條指令所持續(xù)的時間間隔。它由四部分組成, 即硬件延遲部分(通??梢院雎圆挥嫞?、ERTOS 的關(guān)中斷時間、處理器完成當(dāng)前指令的時間以及中斷響應(yīng)周期的時間。(4)信號量混
10、洗時間(semaphore shuffling time)信號量混洗時間反映了與互斥有關(guān)的時間開銷, 因此也是衡量ERTOS 實時性能的一個重要指標(biāo)。() 死鎖解除時間(deadlock breaking time)系統(tǒng)解開處于死鎖狀態(tài)的多個任務(wù)所需花費的時間。死鎖解除時間反映了RTOS 解決死鎖的算法效率。() 數(shù)據(jù)包吞吐率(datagram throughput time)7/21/202210 5嵌入式實時操作系統(tǒng)的分類實時內(nèi)核是嵌入式實時操作系統(tǒng)的核心, 它對多個任務(wù)進(jìn)行調(diào)度、管理、保證應(yīng)用程序的實時性。根據(jù)實時內(nèi)核的占先特性, 可把嵌入式實時操作系統(tǒng)分為: 使用非占先式內(nèi)核的嵌入式實
11、時操作系統(tǒng)和使用占先式內(nèi)核的嵌入式實時操作系統(tǒng)。() 使用非占先式(nonpreemptive) 內(nèi)核的嵌入式實時操作系統(tǒng)非占先式內(nèi)核是指每個任務(wù)應(yīng)自我放棄CPU 的所有權(quán), 非占先式調(diào)度法也稱作協(xié)作型多任務(wù), 各個任務(wù)彼此合作共享一個CPU 。非占先式內(nèi)核的優(yōu)點是: 可以使用不可重入函數(shù) 幾乎不需要使用信號量保護共享數(shù)據(jù)非占先式內(nèi)核的最大缺陷在于其響應(yīng)時間, 高優(yōu)先級的任務(wù)已經(jīng)進(jìn)入就緒態(tài), 但還不能運行, 也許要等很長時間, 直到當(dāng)前運行著的任務(wù)釋放CPU 。7/21/202211 5嵌入式實時操作系統(tǒng)的分類() 使用占先式(preemptive) 內(nèi)核的嵌入式實時操作系統(tǒng) 當(dāng)系統(tǒng)響應(yīng)時間很
12、重要時, 要使用占先式內(nèi)核。 使用占先式內(nèi)核, 最高優(yōu)先級的任務(wù)什么時候可以執(zhí)行, 可以得到CPU 的控制權(quán)是可知的。使用占先式內(nèi)核使得任務(wù)級響應(yīng)時間得以最優(yōu)化。 占先式內(nèi)核總是讓就緒態(tài)的高優(yōu)先級的任務(wù)先運行, 中斷服務(wù)程序可以搶占CPU , 到中斷服務(wù)完成時, 內(nèi)核讓此時優(yōu)先級最高的任務(wù)運行。任務(wù)級系統(tǒng)響應(yīng)時間得到了優(yōu)化, 且是可知的。7/21/202212 使用嵌入式實時操作系統(tǒng)的優(yōu)缺點() 使用嵌入式實時操作系統(tǒng)的優(yōu)點。 將應(yīng)用程序分解為可單獨編程的若干個任務(wù), 大大簡化了應(yīng)用系統(tǒng)的程序設(shè)計。 實時性好, 特別是使用占先式實時內(nèi)核。 有助于提高系統(tǒng)的穩(wěn)定性和可靠性。 與目前廣泛應(yīng)用的前后
13、臺系統(tǒng)相比, 系統(tǒng)的軟件維護和功能擴展方便很多。() 使用嵌入式實時操作系統(tǒng)的缺點。 實時內(nèi)核本身要占用一定數(shù)量的額外內(nèi)存, 包括ROM 和RAM 。 CPU 要增加一定的的額外負(fù)荷, 不同的RTOS 對CPU 的負(fù)荷要求不同,一般大約在 。 如果使用商業(yè)RTOS 軟件, 需要增加額外的成本。當(dāng)然也可選用免費的RTOS , 但一般支持和服務(wù)不一定能得到很好的保證。7/21/202213 嵌入式實時操作系統(tǒng)的選擇多任務(wù)功能是選擇實時操作系統(tǒng)要考慮的首要因素, 其他考慮是:() 在運行時能創(chuàng)建的任務(wù)數(shù)是否受限。() 支持哪些類型的過程間通信機制。() 時間片是否可調(diào)節(jié), 以便決定一個給定應(yīng)用程序的
14、最佳時間片。() 操作系統(tǒng)是否支持優(yōu)先級繼承或某種其他保護措施, 以防止優(yōu)先級倒置。() 操作系統(tǒng)是否支持已經(jīng)選定的同步對象。() 操作系統(tǒng)是否允許選擇調(diào)度算法。() 實時操作系統(tǒng)提供的任務(wù)切換時間可否接受。() 在添加更多任務(wù)(包括線程或過程) 時操作系統(tǒng)性能的下降是否在可接受的限度內(nèi)。() 提供什么工具軟件支持, 開發(fā)工具尤其是調(diào)試程序是否很好地與操作系統(tǒng)集成在一起。7/21/202214 10.2.1 嵌入式實時操作系統(tǒng)RTX51RTX 是德國Keil 公司開發(fā)的一種應(yīng)用于MCS 系列單片機的實時多任務(wù)操作系統(tǒng), 它可以工作在所有 單片機以及派生家族中, 可以簡化復(fù)雜的軟件設(shè)計, 縮短項
15、目開發(fā)周期。7/21/202215RTX 的 種模式7/21/202216 RTX 的任務(wù)快速任務(wù)有很快的響應(yīng)速度, 每個快速任務(wù)使用一個單獨的寄存器組,并且有自己的堆棧區(qū)域。RTX 最多支持同時有個快速任務(wù)。標(biāo)準(zhǔn)任務(wù)需要多一點的時間來進(jìn)行任務(wù)切換, 因此使用的內(nèi)部RAM 相對快速任務(wù)要少, 所有的標(biāo)準(zhǔn)任務(wù)共用個寄存器組和堆棧。當(dāng)任務(wù)切換的時候, 當(dāng)前任務(wù)的寄存器狀態(tài)和堆棧內(nèi)容轉(zhuǎn)移到外部存儲器中。RTX 最多支持個標(biāo)準(zhǔn)任務(wù)。RTX 任務(wù)狀態(tài)如下:() 運行(RUNNING) () 就緒(READY)() 阻塞(BLOCKED)() 刪除(DELETED)() 任務(wù)切換7/21/202217 R
16、TX 的事件管理機制() 超時(timeout) : 掛起運行的任務(wù)指定數(shù)量的時鐘周期() 間隔(interval) : 類似于超時, 但是軟件定時器沒有復(fù)位, 典型應(yīng)用是產(chǎn)生時鐘。() 信號(signal) : 用于任務(wù)內(nèi)部同步協(xié)調(diào)。() 消息(message) : 適用于RTX Full , 用于信息的交換, 可以把一個消息發(fā)送到一個特定的郵箱。() 中斷(interrupt) : 適用于RTX Full ,一個任務(wù)可以等待8051 硬件中斷。() 信號量(semaphore) : 適用于RTX Full , 信號量用于管理共享的系統(tǒng)資源。() os wait ( ) 函數(shù): 掛起一個任務(wù)
17、來等待一個事件的發(fā)生。7/21/202218 RTX 的中斷處理RTX 完全模式提供兩種方法來處理中斷: 一種是C 的中斷函數(shù), 另一種是RTX 的任務(wù)中斷。它又可以分為快速任務(wù)中斷和標(biāo)準(zhǔn)任務(wù)中斷。() 中斷函數(shù)。當(dāng)中斷發(fā)生的時候, 程序就跳到了相應(yīng)的中斷函數(shù), 它和正在運行的任務(wù)是相互獨立的, 中斷的處理是在RTX 系統(tǒng)之外, 和任務(wù)切換規(guī)則沒有關(guān)聯(lián)。() 任務(wù)中斷。不管使用快速還是標(biāo)準(zhǔn)任務(wù)來處理任務(wù)中斷, 如果中斷發(fā)生, 等待中斷的任務(wù)就從“等待” 狀態(tài)進(jìn)入到就緒狀態(tài), 并按照任務(wù)切換規(guī)則進(jìn)行切換。7/21/202219 嵌入式實時操作系統(tǒng)COS COS 是一個完整的, 可移植、固化、裁剪
18、的占先式實時多任務(wù)內(nèi)核??捎糜诟黝愇?、 位和 位單片機或DSP 。它用ANSI 的C 語言編寫, 包含一小部分匯編語言代碼, 使之可供不同架構(gòu)的微控制器使用。COS 的實際對象是嵌入式系統(tǒng), 至今, 從 位到 位, COS 已在超過 種不同架構(gòu)的微控制器上運行。7/21/202220 COS 的特點() 源代碼開放() 可移植性(portable)() 可固化(ROMable)() 可裁剪(scalable)() 可占先式性(preemptive)() 多任務(wù)() 可確定性() 任務(wù)棧() 系統(tǒng)服務(wù)() 中斷管理() 穩(wěn)定性與可靠性7/21/202221 . 嵌入式實時操作系統(tǒng)的移植與應(yīng)用嵌入
19、式實時操作系統(tǒng)在 位微控制器上應(yīng)用還有一定的限制,主要問題是: 位微控制器有限的資源與充分發(fā)揮嵌入式實時操作系統(tǒng)功能的平臺需求之間的矛盾, 因此影響了它們的實用性。7/21/202222 10.3.1 RTX51 在單片機控制的GPS 接收板上的應(yīng)用 系統(tǒng)硬件組成單片機WE : 快速內(nèi)核、KB ROM 、KB 的XDATA RAM , 符合使用RTX的硬件要求;鍵盤、GPS 定位模塊和液晶顯示模塊。 系統(tǒng)軟件構(gòu)成軟件運行環(huán)境KEIL uVision6.20 集成開發(fā)環(huán)境加上RTX51完全版。7/21/202223 任務(wù)KEY BOARD ,監(jiān)測鍵盤的情況,如果有按鍵按下,把按鍵的編碼發(fā)送到郵箱,外部中斷等待接收GPS 數(shù)據(jù),并把數(shù)據(jù)存儲起來,向DISPLAY 任務(wù)發(fā)出信號,進(jìn)行處理。任務(wù)SEND OUT,把接收到的數(shù)據(jù)進(jìn)行處理,并發(fā)送出去。任務(wù)VOICE 進(jìn)行語音輸出。7/21/202224 7/21/202225 7/21/202226 7/21/202227 10.3.2 占先式實時內(nèi)核COS 在MC68HC908GP32上的移植需要做兩方面的工作: 一是重新定義內(nèi)核的大小和功能; 二是為內(nèi)核編寫與硬件相關(guān)的代碼。 內(nèi)核的大小和功能的重新定義首先是編寫整個項目的公共頭文件INCLUDES.H , 這個文件會被所有的C
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年電磁功能材料精密加工輔助材料項目資金申請報告代可行性研究報告
- 2025年廣東省潮州市單招職業(yè)傾向性測試題庫及參考答案
- 地理-云南省師范大學(xué)附屬中學(xué)2025屆高三下學(xué)期開學(xué)考試試題和答案
- 2025年河南省焦作市單招職業(yè)傾向性測試題庫附答案
- 2025年度司機職業(yè)發(fā)展規(guī)劃與薪酬激勵合同
- 2025年度農(nóng)村魚塘租賃與生態(tài)養(yǎng)殖項目合作合同
- 2025年度建筑工地食堂食品安全風(fēng)險評估協(xié)議
- 2025年度合伙人分伙協(xié)議書:清潔能源項目投資合作分?jǐn)偧巴顺鰠f(xié)議
- 2025年甘肅省蘭州市單招職業(yè)傾向性測試題庫必考題
- 2025年度體育賽事組織管理委托書合同范文
- 2023年血液安全技術(shù)核查指南(醫(yī)療機構(gòu))
- 手術(shù)室標(biāo)本管理及送檢評分標(biāo)準(zhǔn)
- 幫朋友貸款免責(zé)協(xié)議書范本
- 2024屆上海市楊浦區(qū)市級名校高一下數(shù)學(xué)期末經(jīng)典試題含解析
- 工地試驗室建設(shè)方案(模板)
- 營銷經(jīng)理勞務(wù)合同
- 2024年大興安嶺職業(yè)學(xué)院單招職業(yè)適應(yīng)性測試題庫及答案1套
- 《物流無人機垂直起降場選址與建設(shè)規(guī)范(征求意見稿)》
- CAS鋁鎂質(zhì)保溫施工施工方法及工藝技術(shù)
- 統(tǒng)編版小學(xué)語文四年級下冊《十萬個為什么》整本書閱讀(教案)
- 2024年輔警考試公基常識300題(附解析)
評論
0/150
提交評論