国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

針對嵌入式實時編程的系統(tǒng)性教學方法探討

2009-08-28 09:09:14王蘇峰陸洪毅侯方勇
計算機教育 2009年14期
關鍵詞:嵌入式系統(tǒng)

王蘇峰 竇 勇 陸洪毅 侯方勇

摘要:隨著嵌入式計算技術的蓬勃發(fā)展和在各行各業(yè)的廣泛應用,嵌入式系統(tǒng)成為當今國際教學和科研的熱點領域之一。由于實際應用的需要,嵌入式系統(tǒng)大多是實時系統(tǒng),對響應時間有嚴格的要求,因此其關鍵是如何保證系統(tǒng)的實時性。為了滿足系統(tǒng)的實時性需要,人們提出了各種各樣的實時編程結(jié)構(gòu),但是相關知識分散、敘述不夠嚴密,且未能系統(tǒng)性的歸納和總結(jié)。本文針對這個問題,詳細闡述了各種實時編程結(jié)構(gòu)的結(jié)構(gòu)模型、實時性和優(yōu)缺點。

關鍵詞:嵌入式系統(tǒng);實時編程結(jié)構(gòu);前后臺系統(tǒng);實時操作系統(tǒng)

中圖分類號:G642 文獻標志碼:B

1引言

隨著嵌入式計算技術的蓬勃發(fā)展和在各行各業(yè)的廣泛應用,嵌入式系統(tǒng)成為當今國際教學和科研的熱點領域之一。由于實際應用的需要,嵌入式計算大多是實時計算系統(tǒng),對響應時間有嚴格的要求,操作的正確性不但依賴于邏輯設計的正確程度,而且更依賴于這些操作進行的時間。所以嵌入式實時系統(tǒng)可以說是能在確定的時間內(nèi)對外部的異步事件做出響應并執(zhí)行其功能的計算機系統(tǒng),這包含著兩層含義:一個是外部的異步事件——事件響應,另外一個是執(zhí)行其功能——任務處理。嵌入式實時系統(tǒng)有兩種類型:軟實時系統(tǒng)和硬實時系統(tǒng)。軟實時系統(tǒng)僅要求事件響應是實時的,并不要求限定任務必須在多長時間內(nèi)完成。硬實時系統(tǒng)不僅要求事件響應要實時,而且要求在規(guī)定的時間內(nèi)完成任務的處理。通常大多數(shù)實時系統(tǒng)是兩者的結(jié)合。因此,嵌入式實時系統(tǒng)的關鍵是如何保證系統(tǒng)的實時性。為了滿足系統(tǒng)的實時性需要,人們提出了各種各樣的實時編程結(jié)構(gòu),但是相關知識分散、敘述不夠嚴密,且未能系統(tǒng)性的歸納和總結(jié)。為了滿足教學的需要,針對這個問題,作者在此詳細的闡述了各種實時編程結(jié)構(gòu)的結(jié)構(gòu)模型、實時性以及優(yōu)缺點。

2無操作系統(tǒng)的實時編程結(jié)構(gòu)

2.1基于查詢方式的實時編程結(jié)構(gòu)

在沒有中斷機制的情況下,僅采用查詢方式實現(xiàn)的實時編程結(jié)構(gòu),如圖1所示。

基于查詢方式的實時編程結(jié)構(gòu)側(cè)重任務的處理,而事件的發(fā)生是通過查詢事件標志來獲取的;軟件設計簡單可靠,任務使用的堆??梢灶A測,而且由于任務之間不嵌套,可以調(diào)用不可重入函數(shù)。但缺點也很明顯,對事件響應不能實時,只有查詢到該標志時才會記錄該事件,因此容易丟棄異步事件;所有任務具有相同優(yōu)先級別,眾生平等;一個任務執(zhí)行時間不可預測時,則所有任務的響應時間不可預測;采用無限循環(huán)結(jié)構(gòu),一個任務崩潰則引起整個系統(tǒng)崩潰。

在最壞情況下,一個任務要得到響應要等到其它所有任務執(zhí)行完畢才會輪到它,所以實時性(最壞情況)取決于所有其它任務執(zhí)行時間之和。

由于該類型嵌入式系統(tǒng)軟件設計簡單可靠,目前在某些任務簡單且單一、可靠性要求極高而對實時性要求不是很高的領域(如航空航天領域)依然使用廣泛。

2.2基于中斷方式的實時編程結(jié)構(gòu)

基于中斷機制采用純中斷方式實現(xiàn)的實時編程結(jié)構(gòu),事件和任務處理全部由中斷服務子程序(ISR)完成。如圖2所示。

相對于基于查詢方式的實時編程結(jié)構(gòu)來說,基于中斷方式的實時編程結(jié)構(gòu)則側(cè)重事件的處理,利用中斷優(yōu)先級解決了優(yōu)先級問題,不再眾生平等。但是由于高優(yōu)先級中斷長時間占用CPU,則容易漏掉低優(yōu)先級的異步事件;中斷無限制的嵌套則容易導致棧溢出(嵌入式系統(tǒng)棧容量很小),堆棧不可預測;由于中斷嵌套,調(diào)用不可重入型函數(shù)時,要滿足互斥條件。

由于高優(yōu)先級中斷能得到及時響應和處理,所以實時性(最壞情況)取決于中斷響應時間(中斷延遲+保存現(xiàn)場時間)。相對于任務執(zhí)行時間來說,中斷響應時間幾乎可以忽略不計。中斷恢復時間則包括恢復現(xiàn)場時間和執(zhí)行中斷返回指令的時間。

由于該類型嵌入式系統(tǒng)響應及時,但缺點也很明顯,所以在任務數(shù)量不多且簡單以及低功耗嵌入式系統(tǒng)中得到了廣泛應用。

2.3基于前后臺系統(tǒng)的實時編程結(jié)構(gòu)

前后臺系統(tǒng)通常把程序分成兩部分:前臺程序和后臺程序。前臺程序也就是事件處理程序(中斷級),通過中斷來處理事件。中斷服務子程序一般只做簡單的處理,然后給出事件發(fā)生的標志,待后臺程序來處理,不會因處理費時的事件而影響其它中斷。后臺程序也就是任務處理程序(任務級),一個死循環(huán),循環(huán)查詢各種事件發(fā)生的標志位,如果標志位置位,就執(zhí)行相應的任務處理程序。如圖3、4所示。

中斷有優(yōu)先級,也可無優(yōu)先級,因中斷處理時間很短,幾乎可以忽略不計。任務級采用周期循環(huán)調(diào)度,一個超循環(huán)系統(tǒng),同查詢系統(tǒng)一樣,任務無優(yōu)先級,眾生平等。

事件響應實時性分析:由于中斷服務子程序只一些做簡單的處理(事件標志置位),事件能得到及時響應,可以避免中斷嵌套(棧溢出),避免漏掉異步事件。

任務響應實時性分析:任務的執(zhí)行是通過主循環(huán)查詢相應的標志位(ISR置位)來執(zhí)行的,可調(diào)用不可重入函數(shù)(任務間不嵌套),最壞的情況是循環(huán)中所有其它的任務處理程序執(zhí)行完,才執(zhí)行當前事件的任務處理程序。所以任務實時性(最壞情況)取決于所有其它任務執(zhí)行時間之和。

顯然任務實時性、可靠性難以滿足要求,所有的任務具有相同的優(yōu)先級別,即是平等的,對那些實時性要求高的任務不可能立刻得到處理。如果一個任務執(zhí)行時間不能確定,則所有任務響應時間不可預測。任務處理(后臺)程序是一個無限循環(huán)的結(jié)構(gòu),一旦在這個循環(huán)體中正在處理的任務崩潰,使得整個任務隊列中的其它任務得不到機會被處理,從而造成整個系統(tǒng)的崩潰,任務優(yōu)先級固定。

前后臺系統(tǒng)結(jié)構(gòu)簡單,幾乎不需要額外的存儲開銷,所以在簡單的嵌入式應用中得到了廣泛的應用。

3基于實時操作系統(tǒng)的實時編程結(jié)構(gòu)

實時操作系統(tǒng)(Real Time Operating System,RTOS)指具有實時性、能支持實時系統(tǒng)工作的操作系統(tǒng)。首要任務是調(diào)度一切可利用的資源完成實時任務,其次才著眼于提高系統(tǒng)的使用效率。實時操作系統(tǒng)最重要特點是要滿足對時間的限制和要求,基本結(jié)構(gòu)如圖5所示。

根據(jù)基于優(yōu)先級的任務調(diào)度策略,實時操作系統(tǒng)可分為兩類:非搶占(non-preemption)式實時操作系統(tǒng)和搶占式(preemption)實時操作系統(tǒng)。非搶占式實時操作系統(tǒng)也叫不可剝奪或非搶先式實時操作系統(tǒng);搶占式實時操作系統(tǒng)也叫可剝奪或搶先式實時操作系統(tǒng)。

3.1基于非搶占式實時操作系統(tǒng)的實時編程結(jié)構(gòu)

非搶占式實時操作系統(tǒng)就是一個任務運行后,就把CPU控制權完全交給了該任務,直到它主動將CPU控制權還回來。事件處理由中斷服務子程序來處理,可以激活一個掛起態(tài)的任務,使之進入就緒態(tài);中斷服務子程序很簡單,類似于前后臺系統(tǒng)僅使標志置位。任務響應時間由最長任務執(zhí)行時間、尋找最高優(yōu)先級任務的時間以及任務切換時間決定,所以實時性(最壞情況)主要取決于最長任務的執(zhí)行時間(其它可忽略)。

采用非搶占式實時操作系統(tǒng)的優(yōu)點:實時性比前后臺系統(tǒng)的要好,程序設計相對簡單,可調(diào)用不可重入函數(shù)(任務間不嵌套)。缺點:如果最長任務的執(zhí)行時間不能確定,系統(tǒng)的實時性(任務響應時間)就不能確定。

非搶占式實時操作系統(tǒng)運行原理如圖6所示。

3.2基于搶占式實時操作系統(tǒng)的實時編程結(jié)構(gòu)

搶占式實時操作系統(tǒng)就是指內(nèi)核可以搶占正在運行任務的CPU使用權并將使用權交給進入就緒態(tài)的優(yōu)先級更高的任務。事件處理由中斷服務子程序來處理,可以激活一個掛起態(tài)的任務,使之進入就緒態(tài)。由于任務之間存在嵌套問題,應用程序不應該直接調(diào)用不可重入函數(shù)。調(diào)用不可重入型函數(shù)時,要滿足互斥條件;調(diào)用可重入函數(shù)使得堆棧不可預測。任務響應時間包括尋找最高優(yōu)先級任務的時間和任務切換時間,所以實時性(最壞情況)主要取決于任務切換時間(其它可忽略)。

采用搶占式實時操作系統(tǒng)的優(yōu)點:實時性好,優(yōu)先級高的任務只要具備了運行的條件,就可以立即運行。缺點:如果任務之間搶占CPU控制權處理不好,會產(chǎn)生系統(tǒng)崩潰、死機等嚴重后果(優(yōu)先級倒置);調(diào)用不可重入型函數(shù)時,要滿足互斥條件。

搶占式實時操作系統(tǒng)運行原理如圖7所示。

4結(jié)束語

前面我們闡述了五種實時編程結(jié)構(gòu),下面比較一下各種結(jié)構(gòu)的任務響應實時性。查詢方式和前后臺系統(tǒng)一樣,實時性取決于它所有任務執(zhí)行時間之和,可能不可預測;中斷方式實時性取決于中斷響應時間,可預測;非搶占式實時操作系統(tǒng)實時性取決于最長任務執(zhí)行時間,可能不可預測;搶占式實時操作系統(tǒng)實時性取決于任務切換時間,可預測。

這是我們多年來從事嵌入式系統(tǒng)教學以及科研得來的一點點心得和體會,僅是我們的一家之言,希望對同行起到拋磚引玉的作用,也歡迎同行批評指正。

參考文獻:

[1]王志英,李宗伯,王蘇峰,等. 嵌入式系統(tǒng)原理與設計[M]. 北京:高等教育出版社,2007.

[2](英)Andrew Bateman,Lain Paterson Stephens. DSP算法、應用與設計[M]. 陳健,陳偉,汪書寧,譯.北京:機械工業(yè)出版社,2003.

[3]Bruce Powel Douglass. 嵌入式與實時系統(tǒng)開發(fā)——使用UML、對象技術、框架與模式[M]. 柳翔,譯. 北京:機械工業(yè)出版社,2005.

猜你喜歡
嵌入式系統(tǒng)
Teaching Research on IoT and—Embedded System of Software Engineering
計算機教育(2016年8期)2016-12-24 10:34:05
基于Xilinx口袋實驗室的組合邏輯電路設計實驗
面向應用的智能專業(yè)嵌入式系統(tǒng)教學
基于物聯(lián)網(wǎng)的遠程紅外控制器
嵌入式系統(tǒng)軟件開發(fā)技術探析
基于AVR單片機的SPI接口設計與實現(xiàn)
辦公自動化系統(tǒng)的設計
嵌入式系統(tǒng)在醫(yī)療器械中的應用分析
基于物聯(lián)網(wǎng)項目驅(qū)動的嵌入式系統(tǒng)教學改革的研究與實踐
嵌入式系統(tǒng)課程“中斷、異常與事件”教學實踐及啟示
計算機教育(2016年7期)2016-11-10 08:31:34
法库县| 含山县| 汉源县| 永康市| 铜梁县| 九江县| 青河县| 保定市| 个旧市| 宝应县| 平江县| 昌图县| 延长县| 临猗县| 湖北省| 绥江县| 古浪县| 深泽县| 安新县| 涞源县| 平武县| 全州县| 开封市| 罗定市| 凤台县| 玉屏| 陆河县| 甘孜县| 成都市| 桂林市| 化德县| 白玉县| 大兴区| 襄城县| 沅江市| 雷山县| 清原| 黑山县| 梨树县| 扎赉特旗| 中阳县|