999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

嵌入式Linux操作系統(tǒng)實時性的研究

2011-11-02 02:40:12王惠玲
湖北開放大學(xué)學(xué)報 2011年5期
關(guān)鍵詞:嵌入式系統(tǒng)

王惠玲

(蘭州資源環(huán)境職業(yè)技術(shù)學(xué)院,甘肅 蘭州 730021)

嵌入式Linux操作系統(tǒng)實時性的研究

王惠玲

(蘭州資源環(huán)境職業(yè)技術(shù)學(xué)院,甘肅 蘭州 730021)

通過分析嵌入式Linux在實時性方面的缺陷和不足,針對細(xì)化時鐘粒度、可搶占式內(nèi)核體系結(jié)構(gòu)、中斷軟件模擬和實時調(diào)度策略等問題進(jìn)行研究,提出了相應(yīng)的實時性改進(jìn)方法及宏觀調(diào)度結(jié)構(gòu),拓展了實時系統(tǒng)的應(yīng)用范圍。

嵌入式系統(tǒng);Linux;實時性;搶占;調(diào)度策略

一、引言

Linux以其功能強大、源代碼開放、支持多種硬件平臺、模塊化設(shè)計方案及豐富的開發(fā)工具支持等特點廣泛應(yīng)用在嵌入式系統(tǒng)領(lǐng)域。作為嵌入式產(chǎn)品的操作系統(tǒng)平臺,Linux具有較好的實時性、系統(tǒng)可靠性、任務(wù)處理隨機性。但由于其在實時應(yīng)用領(lǐng)域的技術(shù)障礙,要應(yīng)用在嵌入式領(lǐng)域,還必須對Linux內(nèi)核作必要的改進(jìn)。本文首先分析了實時系統(tǒng)的特點和Linux內(nèi)核在實時應(yīng)用方面的不足,然后針對影響操作系統(tǒng)實時性能的若干方面進(jìn)行研究,提出解決方案。

二、實時系統(tǒng)的分類

實時操作系統(tǒng)貴在實時,要求在規(guī)定的時間內(nèi)完成某種操作。因此實時系統(tǒng)最重要的特點就是實時性,即系統(tǒng)的正確性不僅僅依賴于計算的邏輯結(jié)果的正確性,還取決于輸出結(jié)果時間的及時性。從這個角度看,實時系統(tǒng)是“一個能夠在指定或者確定的時間內(nèi)完成系統(tǒng)功能和對外部環(huán)境做出響應(yīng)的系統(tǒng)”。按對實時性能要求的程度,實時系統(tǒng)可分為兩類:

1.硬實時系統(tǒng):要求可確定性強,具有明確的實時約束,在某個限定的時刻之前不能完成任務(wù)將造成災(zāi)難性的后果。因此,在這類系統(tǒng)的設(shè)計和實現(xiàn)過程中,應(yīng)采用各種分析、模擬及形式化驗證方法對系統(tǒng)進(jìn)行嚴(yán)格的檢驗,以保證在各種情況下應(yīng)用的時間需求和功能需求都能夠得到滿足。

2.軟實時系統(tǒng):也對時間敏感,當(dāng)某些應(yīng)用雖然提出了時間要求,但偶爾發(fā)生不能滿足嚴(yán)格實時要求的情況也是允許的。因此,某些應(yīng)用雖然提出了時間需求,但實時任務(wù)偶爾違反這種需求對系統(tǒng)的運行以及環(huán)境不會造成嚴(yán)重影響。

三、Linux 在實時應(yīng)用中的技術(shù)障礙

盡管Linux本身提供了一些支持實時性的機制,但是由于其最初的設(shè)計目標(biāo)為通用分時操作系統(tǒng),并且Linux系統(tǒng)是以高的吞吐量和公平性為追求目標(biāo),基本上沒有考慮實時應(yīng)用所要滿足的時間約束,它只是提供了一些相對簡單的任務(wù)調(diào)度策略。因此,實時性問題是將Linux應(yīng)用于嵌入式系統(tǒng)開發(fā)的一大障礙,無法在硬實時系統(tǒng)中得到應(yīng)用,作為一個實時操作系統(tǒng),Linux仍然存在如下缺陷:

1.Linux的內(nèi)核是不可搶占的。Linux分為用戶態(tài)和核心態(tài)兩種模式,當(dāng)進(jìn)程運行在用戶態(tài)時,可被優(yōu)先級更高的進(jìn)程搶占,但當(dāng)它進(jìn)入核心態(tài)時,其他用戶態(tài)進(jìn)程優(yōu)先級再高也不能搶占它,這將導(dǎo)致優(yōu)先級逆轉(zhuǎn),實時任務(wù)執(zhí)行時間的不確定性,顯然不能滿足硬實時應(yīng)用的要求。

2.Linux系統(tǒng)時鐘精度太過粗糙。時鐘管理是操作系統(tǒng)的脈搏,任務(wù)的執(zhí)行和中止在很多情況下都是由時鐘直接或間接喚起的,它是進(jìn)程調(diào)度的重要依據(jù)。Linux的周期模式定時器頻率僅為100Hz,使得其時間粒度過大,加大了任務(wù)響應(yīng)延遲,遠(yuǎn)不能滿足實時應(yīng)用的要求。

3.Linux采用對臨界區(qū)操作時屏蔽中斷的方式,在中斷處理中是不允許進(jìn)行任務(wù)調(diào)度的,從而抑制了系統(tǒng)及時響應(yīng)外部操作的能力。

4.缺乏有效的實時任務(wù)調(diào)度機制和調(diào)度算法。

5.Linux雖然給實時進(jìn)程提供了較高的優(yōu)先級,但是沒有加入時間限制。例如:完成的最后期限、應(yīng)在多長時間內(nèi)完成、執(zhí)行周期等等。同時,其他大量的非實時進(jìn)程也可能對實時進(jìn)程造成阻塞,無法確保實時進(jìn)程的響應(yīng)時間。

四、改進(jìn)內(nèi)核實時性的分析與研究

針對Linux在實時應(yīng)用中的技術(shù)障礙,將Linux改造成為支持實時任務(wù)的嵌入式操作系統(tǒng),主要從細(xì)化時鐘粒度、可搶占式內(nèi)核體系結(jié)構(gòu)、中斷軟件模擬和實時任務(wù)的調(diào)度策略這四個方面對嵌入式Linux內(nèi)核進(jìn)行研究,并給出了相應(yīng)的提高實時性的方法。

1.細(xì)化時鐘粒度

精確的計時是實時調(diào)度器正確操作所必須的,調(diào)度器通常要求在一個特定的時刻進(jìn)行任務(wù)切換,計時的錯誤將導(dǎo)致背離計劃的調(diào)度,引起任務(wù)釋放抖動。標(biāo)準(zhǔn)Linux系統(tǒng)時鐘精度太過粗糙,時鐘中斷周期為10ms,不能滿足特定嵌入式應(yīng)用領(lǐng)域中對于響應(yīng)時間精度的要求。因此,在實時Linux應(yīng)用中,需要細(xì)化其時鐘粒度,具體有兩種方式可以解決時鐘粒度問題:

(1)通過直接修改內(nèi)核定時參數(shù)Hz的初值來細(xì)化時鐘粒度,如將標(biāo)準(zhǔn)Linux中內(nèi)核定時參數(shù)Hz改為10000,則時鐘粒度可以達(dá)到100μs,這種方式雖然會增加一些系統(tǒng)開銷,但在強周期性環(huán)境下,對定時器的設(shè)置只需初始化一次,在一定程度上保證了處理效率。

(2)通過對可編程中斷定時器8254或先進(jìn)的可編程中斷控制器進(jìn)行編程來改進(jìn)Linux時鐘機制,以提高其時鐘的分辨率,使毫秒級的粗粒度定時器變成微秒級的細(xì)粒度定時器。

2.增強Linux可搶占性內(nèi)核機制

標(biāo)準(zhǔn)Linux內(nèi)核是不可搶占的,導(dǎo)致較大的延遲,增強內(nèi)核的可搶占性能,可提高系統(tǒng)內(nèi)核對實時任務(wù)的響應(yīng)能力。為了解決Linux實現(xiàn)硬實時的最大障礙,使Linux內(nèi)核成為完全可被搶占實時內(nèi)核,典型的實現(xiàn)方案是雙核結(jié)構(gòu)。使用實時核來運行實時任務(wù),Linux內(nèi)核來運行非實時任務(wù)。如圖1所示。

圖1 雙內(nèi)核結(jié)構(gòu)

對于Linux內(nèi)核的修改主要集中在三方面:

(1)在Linux內(nèi)核中影響實時性的地方增加控制點,使內(nèi)核在控制點可以被搶占,減少內(nèi)核搶占延遲。

(2)將執(zhí)行時間較長的系統(tǒng)劃分為幾個甚至是十幾個較小的塊分別執(zhí)行,使實時任務(wù)隨時中斷非實時任務(wù)。

(3)根據(jù)實際需要,增加部分功能。

3.中斷軟件模擬

響應(yīng)時間的分析及解決方法:任務(wù)的響應(yīng)時間被定義為一個事件的發(fā)生和任務(wù)響應(yīng)這一事件開始執(zhí)行之間的間隔時間,通常有以下幾個因素影響任務(wù)的響應(yīng)時間。

(1)中斷分配時間IDT(interruptdispatchtime):當(dāng)一個中斷產(chǎn)生時,在調(diào)用中斷處理程序占用CPU以前,操作系統(tǒng)用來保存所有的寄存器中的內(nèi)容和系統(tǒng)中其他的關(guān)于這一任務(wù)狀態(tài)的時間。

(2)中斷服務(wù)時間IST(interruptservicetime):中斷服務(wù)程序用來從硬件設(shè)備讀取信息或從操作系統(tǒng)收集信息所用的時間。

(3)內(nèi)核搶占時間KPT(kernelpreemptiontime):在操作系統(tǒng)意欲搶占當(dāng)前進(jìn)程與搶占實際上發(fā)生之間的時間間隔。

(4)調(diào)度延遲SD(scheduledelay):調(diào)度程序用來調(diào)度另一個線程投入運行的時間。

(5)進(jìn)程切換時間CST(contestswitchingtime):當(dāng)前線程用來保存寄存器和系統(tǒng)狀態(tài)的時間與將要運行的線程恢復(fù)寄存器中的內(nèi)容和系統(tǒng)狀態(tài)的時間總和。

(6)系統(tǒng)調(diào)用返回時間RST(returnfromsystemcall):處于內(nèi)核態(tài)的線程在它返回用戶態(tài)之前檢查一些狀態(tài)所用的時間。

其中,SD、CST和RST總是固定不變的,如果Linux內(nèi)核設(shè)計得當(dāng)?shù)脑挘琁DT、IST和KPT可以有效的減少。在實時應(yīng)用的環(huán)境中,若干個中斷同時發(fā)生的情況是完全可能存在的。這時任務(wù)的響應(yīng)時間最多將包含N(IDT+IST),N為中斷數(shù)。

中斷軟件模擬被用來解決多個中斷同時發(fā)生的情形。當(dāng)一個硬件中斷發(fā)生時,系統(tǒng)只是簡單的在時間表中報告這一時間的發(fā)生,然后立即將CPU的控制權(quán)返回給操作系統(tǒng),完全略過查中斷向量表并執(zhí)行相應(yīng)的中斷服務(wù)程序。系統(tǒng)在Linux內(nèi)核之前截獲了所有硬中斷信號,并根據(jù)當(dāng)前實時任務(wù)的需要,由軟中斷模擬機制處理或掛起該中斷。

采用這個方法,可以減少當(dāng)多個中斷同時發(fā)生時任務(wù)的響應(yīng)時間,最長的延遲時間為N*IST’。

4.改善Linux內(nèi)核實時任務(wù)的調(diào)度策略

常用的實時調(diào)度算法有:

(1)基于優(yōu)先級的調(diào)度算法。基于優(yōu)先級的調(diào)度算法調(diào)度器以優(yōu)先級作為尋求下一個任務(wù)執(zhí)行的依據(jù)。可分為兩種類型:

① 靜態(tài)優(yōu)先級調(diào)度算法:該算法給系統(tǒng)中所有進(jìn)程都靜態(tài)的分配一個優(yōu)先級。靜態(tài)優(yōu)先級的分配可以根據(jù)應(yīng)用的屬性來進(jìn)行。

② 動態(tài)優(yōu)先級調(diào)度算法:該算法根據(jù)任務(wù)的資源需求來動態(tài)的分配任務(wù)的優(yōu)先級。EDF算法是一種典型的動態(tài)優(yōu)先級調(diào)度算法,該算法根據(jù)就緒隊列中各個任務(wù)的截止期限來分配優(yōu)先級,具有最近截止期限的任務(wù)的優(yōu)先級最高。

(2)基于時間驅(qū)動的調(diào)度算法。該算法本質(zhì)上是一種設(shè)計時就確定下來的離線的靜態(tài)調(diào)度方法。在系統(tǒng)的設(shè)計階段,在明確系統(tǒng)中所有處理的情況下,對于各個任務(wù)的開始、切換以及結(jié)束時間等事先組出明確的安排和設(shè)計。

(3)基于比例共享的調(diào)度算法。這是一種越來越受到關(guān)注的實時調(diào)度模式,基于GPS的算法。其基本思想就是按照一定的權(quán)重(CPU使用的比例)對一組需要調(diào)度的任務(wù)進(jìn)行調(diào)度,使其執(zhí)行時間與權(quán)重完全成正比。可以通過兩種方法實現(xiàn):

① 調(diào)節(jié)各個就緒進(jìn)程出現(xiàn)在當(dāng)前調(diào)度隊列隊首的頻率,并調(diào)度隊首的進(jìn)程執(zhí)行。

② 逐次調(diào)度就緒隊列中的各個進(jìn)程投入運行,但根據(jù)分配的權(quán)重調(diào)節(jié)分配給每個進(jìn)程的運行時間片。

針對每一種調(diào)度策略都有自己的優(yōu)越性和不足。通過設(shè)計和構(gòu)造多屬性和多調(diào)度器的選擇機制,使三種實時調(diào)度策略的應(yīng)用都得到支持,相對于只對單種調(diào)度策略提供支持的方案,拓展了系統(tǒng)的可使用范圍,提出了一種宏觀調(diào)度結(jié)構(gòu)。如圖2。

圖2 宏觀調(diào)度結(jié)構(gòu)

其中給每一個實時任務(wù)定義了4個調(diào)度屬性:priority(優(yōu)先級:限制該任務(wù)比相關(guān)聯(lián)的其他任務(wù)的優(yōu)先權(quán))、start time(起始時間:任務(wù)開始執(zhí)行時間)、finish time(截止時間:任務(wù)停止時間)和budget(預(yù)設(shè)值:任務(wù)允許執(zhí)行時間),不同屬性的數(shù)據(jù)對應(yīng)不同的調(diào)度策略。宏觀調(diào)度結(jié)構(gòu)分為兩個模塊:屬性分配模塊和調(diào)度器選擇模塊。屬性分配模塊給每一個實時任務(wù)分配多個屬性值,并通過其中的一兩個屬性值決定哪個屬性優(yōu)先,這樣調(diào)度器選擇模塊就可以根據(jù)屬性的優(yōu)先級別選擇不同的調(diào)度器。

五、結(jié)束語

嵌入式技術(shù)具有廣闊的應(yīng)用前景,滲透于社會生活的諸多領(lǐng)域,把Linux應(yīng)用于嵌入式系統(tǒng),將其自身固有的優(yōu)越性融入嵌入式技術(shù),是嵌入式技術(shù)發(fā)展的一個重要方向。然而,由于Linux在實時應(yīng)用領(lǐng)域的技術(shù)障礙,要將其應(yīng)用在嵌入式領(lǐng)域還必須修改Linux 內(nèi)核中的各個模塊以達(dá)到滿足嵌入式實時應(yīng)用的需求。Linux實時性能的逐步完善、應(yīng)用的需要也會進(jìn)一步督促我們應(yīng)該及時跟蹤國內(nèi)外Linux發(fā)展動態(tài),同時積累此領(lǐng)域的開發(fā)經(jīng)驗,走出自己的路。

[1] 駱耀祖.Linux操作系統(tǒng)分析教程[M].清華大學(xué)出版社,2004.

[2] 董曉峰,顧新.關(guān)于Linux內(nèi)核可搶占性的研究[J].計算機工程,2005.

[3] 趙慧斌,李小群,孫玉芳.改善Linux核心可搶占性方法的研究與實現(xiàn)[J].計算機學(xué)報,2004,2.

[4] 李凡,盧杜階,邱鵬.在嵌入式應(yīng)用中增強Linux實時性的方法研究[J].華中科技大學(xué)學(xué)報,2005,2.

[5] Robert love.Linux內(nèi)核設(shè)計與實現(xiàn)[M].機械工業(yè)出版社,2003.

TP30

A

1008-7427(2011)05-0157-02

2011-03-26

作者系蘭州資源環(huán)境職業(yè)技術(shù)學(xué)院信息管理系講師。

猜你喜歡
嵌入式系統(tǒng)
Smartflower POP 一體式光伏系統(tǒng)
WJ-700無人機系統(tǒng)
ZC系列無人機遙感系統(tǒng)
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統(tǒng)
半沸制皂系統(tǒng)(下)
TS系列紅外傳感器在嵌入式控制系統(tǒng)中的應(yīng)用
電子制作(2019年7期)2019-04-25 13:17:14
嵌入式系統(tǒng)通信技術(shù)的應(yīng)用
電子制作(2018年18期)2018-11-14 01:48:16
搭建基于Qt的嵌入式開發(fā)平臺
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
主站蜘蛛池模板: 人妻熟妇日韩AV在线播放| 亚洲一区二区精品无码久久久| 欧美亚洲一区二区三区在线| 无码高潮喷水专区久久| 日韩国产黄色网站| 国产91线观看| 超清无码一区二区三区| 欧美精品成人一区二区在线观看| 97在线国产视频| 蜜桃视频一区二区| 欧美精品色视频| 国产久操视频| 99久久精品免费看国产电影| 免费在线a视频| 毛片最新网址| 在线精品欧美日韩| 性视频久久| 国产福利免费在线观看| 91黄视频在线观看| 中日韩一区二区三区中文免费视频| WWW丫丫国产成人精品| 亚洲精品无码抽插日韩| 国产成人久久综合777777麻豆 | 欧美在线综合视频| 欧美全免费aaaaaa特黄在线| 久久无码免费束人妻| 在线视频精品一区| 九九九久久国产精品| 国产丝袜无码精品| 日本精品影院| 青草视频免费在线观看| 热久久这里是精品6免费观看| 沈阳少妇高潮在线| 亚洲国产精品美女| 国产欧美亚洲精品第3页在线| 中国一级毛片免费观看| 国产精品污污在线观看网站| 日韩在线观看网站| 国产精品污污在线观看网站| 99伊人精品| 91精品国产福利| 欧美日韩资源| 国产精品免费电影| 精品成人一区二区| 99久久这里只精品麻豆| 亚洲大尺码专区影院| 久操中文在线| 国产又粗又爽视频| 久久久国产精品无码专区| 国产不卡在线看| a欧美在线| 在线观看免费人成视频色快速| 91国内外精品自在线播放| 久久精品国产精品一区二区| 高清色本在线www| 在线观看国产精品第一区免费| 精品日韩亚洲欧美高清a| 久久综合色天堂av| 熟女日韩精品2区| 国产午夜无码专区喷水| 色噜噜狠狠色综合网图区| 欧美成人二区| 日韩麻豆小视频| 欧美日韩成人在线观看| 欧美成人综合视频| 国产成人免费高清AⅤ| 日韩天堂视频| 一本色道久久88综合日韩精品| 亚洲天堂精品在线| 国产剧情伊人| 97国产成人无码精品久久久| 精品99在线观看| 日韩福利在线视频| 国产成人精品视频一区二区电影| 国模沟沟一区二区三区| 欧美日韩激情| 国产成人一区在线播放| 女人av社区男人的天堂| 日韩色图区| 呦视频在线一区二区三区| 国产电话自拍伊人| 成人综合在线观看|