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

下載本文檔

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

文檔簡(jiǎn)介

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

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

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

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

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

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論