深入理解和實現(xiàn)連載的前生今世_第1頁
深入理解和實現(xiàn)連載的前生今世_第2頁
深入理解和實現(xiàn)連載的前生今世_第3頁
深入理解和實現(xiàn)連載的前生今世_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、RTOS 的前生今世如果讀者對 RTOS 的前生今世感,可以仔細(xì)讀讀操作系統(tǒng)史話這個連載教授花了很多精力編寫了的文章,http/embedded/325438,作者這組資料。本文從結(jié)構(gòu)的差異來簡要分析 RTOS 的特點以及來由。常見的結(jié)構(gòu)可以分為輪詢系統(tǒng)、前系統(tǒng)和多任務(wù)系統(tǒng)。需要明確的是,這些方案是根據(jù)應(yīng)用的具體需求,各有各自的特點和適用的場景。每種方案都有它產(chǎn)生的年代、硬件資源的發(fā)展階段和所適合的應(yīng)用領(lǐng)域,只能說是技術(shù)的發(fā)展,是針對應(yīng)用方案的細(xì)分。只有最適合的,沒有最好的。當(dāng)有人非呵”。哪個方案才是好的方案時,大可以“呵首先說一下輪詢系統(tǒng)。這種方案是最簡單的一種結(jié)構(gòu),主程序是一段無限循環(huán)的代

2、碼,在循環(huán)中順序查詢各個條件,如果滿足就執(zhí)行相應(yīng)的操作。這種方案的好處是實現(xiàn)簡單,邏輯清晰,便于開發(fā)掌握。但是每個事件的查詢和處理時間是不能確定的。假如前面的操作時間較長,那么后面的操作必然會被延遲。圖 輪詢系統(tǒng)結(jié)構(gòu)在上圖中,假如步驟 1 操作需要很久,那么步驟 2 必然得不到及時處理,如果步驟 2的工作很重要或者很緊急,那么系統(tǒng)的性能和響應(yīng)能力就很差了。相對輪詢系統(tǒng),前系統(tǒng)對外部事件的處理做了優(yōu)化。前系統(tǒng)是由中斷驅(qū)動的。主程序依然是一段無限循環(huán)的代碼,稱為程序,而事件的響應(yīng)則由中斷來完成,稱為前臺程序。在程序執(zhí)行的時候,如果有外部事件發(fā)生,則前臺的中斷程序會打斷程序。程序完在完成必要的事件響

3、應(yīng)之后,前臺中斷程序退出并通知程序來繼續(xù)操作。由成事件的后繼處理,比如數(shù)據(jù)的分析等操作。從代碼功能上講,事件的響應(yīng)和處理分為了兩個部分。因為中斷自身有優(yōu)先級和嵌套的功能,所以優(yōu)先級高的事件能夠得到及時響應(yīng)。但程序仍然需要按順序的處理各個事件的后繼事務(wù)。前系統(tǒng)演示如下圖所示:圖 前系統(tǒng)結(jié)構(gòu)上圖所示,在中斷源之間有優(yōu)先級的概念。ISR 會首先響應(yīng)事件,簡單的事件可以在 ISR之中直接處理,復(fù)雜的情況下則下必要數(shù)據(jù)和狀態(tài)標(biāo)記。等所有中斷處理結(jié)束后,將由主函數(shù)順序處理各個事務(wù)。也就是說,事件的響應(yīng)是支持優(yōu)先級的,但事件的最終處理卻是順序的。使用中斷來代替輪詢方案中事件的查詢操作,所以相對輪詢方案,前對

4、事件的響應(yīng)能力有較大改善。系統(tǒng)和前系統(tǒng)相比,多任務(wù)系統(tǒng)在響應(yīng)事件的時候,同樣是由多個中斷處理程序完成的。但是對于事件的后繼操作則是由多個任務(wù)來處理的。也就是說每個任務(wù)處理它所負(fù)責(zé)的事件。在基于優(yōu)先級的多任務(wù)系統(tǒng)中,因為任務(wù)間優(yōu)先級的關(guān)系,那么優(yōu)先級高的任務(wù)到優(yōu)先處理。這樣優(yōu)先級高的事件就按比例輪流占用處理器。得到處理;在基于分時機制的多任務(wù)系統(tǒng)中,則任務(wù)間多任務(wù)機制如下圖所示:圖 多任務(wù)系統(tǒng)結(jié)構(gòu)在上圖中,中斷用來響應(yīng)事件,事件的后續(xù)操作則由任務(wù)來完成。中斷和任務(wù)都有優(yōu)先級的概念。假如其中中斷2 和任務(wù)2 處理的事件是緊急的或者重要的,那么當(dāng)中斷2 發(fā)生時,即使其他任務(wù)或者中斷正在處理,那么也會

5、被搶占,最終任務(wù) 2 會優(yōu)先得到運行機會。因為多任務(wù)操作系統(tǒng)允許將具體的應(yīng)用系統(tǒng)分成若干個相對獨立的任務(wù)來管理,所以多任務(wù)操作系統(tǒng)的使用可以簡化應(yīng)用應(yīng)用程序的設(shè)計,系統(tǒng)也變得簡潔和便于實時性要求嚴(yán)格的事件都能得到及時可靠的處理。和擴展。對從事件和數(shù)據(jù)處理的角度考慮,可以把整個應(yīng)用流程簡化為事件響應(yīng)和事件處理兩個階段。從這兩個階段采用的不同技術(shù)出發(fā),可以清晰合理的來分析上面介紹的這三種結(jié)構(gòu)方案。以下是對三種結(jié)構(gòu)的比較表 11 常見模型通過上面的比較,好壞的標(biāo)準(zhǔn)??梢郧宄目吹浇Y(jié)構(gòu)上的不同和發(fā)展,但這并不是系統(tǒng)結(jié)構(gòu)多任務(wù)系統(tǒng),指的就是基于多任務(wù)操作系統(tǒng)的應(yīng)用開發(fā)模型。本文介紹的就是的操作系統(tǒng)的部件:操作系統(tǒng)內(nèi)核的設(shè)計和實現(xiàn)。它的主要功能包括:任務(wù)管理、模型事件響應(yīng)事件處理特點輪詢系統(tǒng)主程序主程序輪詢響應(yīng)事件,輪詢處理事件前系統(tǒng)前臺多個中斷程序單個主程序?qū)崟r響應(yīng)事件,輪詢處理事件多任務(wù)系統(tǒng)多個中斷程序多個任務(wù)實時響應(yīng)事件,實時處理事件任務(wù)調(diào)度、任務(wù)同步、互斥和通訊、設(shè)備管理、中斷管理、時間管理等。而像圖形用戶接口、文件系統(tǒng)、TCP/IP 協(xié)議、它功能模塊。數(shù)據(jù)庫引擎等,則可以歸為操作

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論