亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        Linux在嵌入式實(shí)時(shí)系統(tǒng)的研究與改進(jìn)

        2011-02-19 07:50:22韓大鵬
        制造業(yè)自動(dòng)化 2011年3期
        關(guān)鍵詞:內(nèi)核中斷進(jìn)程

        張 帆,求 偉,韓大鵬

        ZHANG Fan1,QIU Wei1,HAN Da-peng2

        (1.武警杭州指揮學(xué)院 信息技術(shù)教研室,杭州 310023;2.浙江省女子監(jiān)獄 信息技術(shù)科,杭州 310012)

        0 引言

        實(shí)時(shí)系統(tǒng)是指系統(tǒng)能夠在限定的響應(yīng)時(shí)間內(nèi)提供所需水平的服務(wù)。一般的說,實(shí)時(shí)系統(tǒng)是能及時(shí)響應(yīng)外部發(fā)生的隨機(jī)事件,并以足夠快的速度完成對(duì)事件處理的計(jì)算機(jī)應(yīng)用系統(tǒng)。一個(gè)實(shí)時(shí)系統(tǒng)計(jì)算的正確性不僅取決于程序的邏輯正確性,也取決于結(jié)果產(chǎn)生的時(shí)間,如果系統(tǒng)的時(shí)間約束條件得不到滿足,將會(huì)發(fā)生系統(tǒng)出錯(cuò)。實(shí)時(shí)系統(tǒng)有反應(yīng)式和嵌入式兩種類型。反應(yīng)式實(shí)時(shí)系統(tǒng)會(huì)與環(huán)境發(fā)生連續(xù)的互作用,而嵌入式實(shí)時(shí)系統(tǒng)主要用于控制大型系統(tǒng)中安裝的特殊硬件。

        1 衡量實(shí)時(shí)性的指標(biāo)

        一般來講,性能是一個(gè)軟件系統(tǒng)或組件對(duì)時(shí)間要求滿足程度的一種指示。這里的時(shí)間指標(biāo)可以用響應(yīng)時(shí)間和吞吐量來衡量,該時(shí)間值是指響應(yīng)某種要求所需的時(shí)間,而吞吐量用以指示系統(tǒng)在特定時(shí)間間隔內(nèi)能夠處理的請(qǐng)求數(shù)量。實(shí)時(shí)操作系統(tǒng)與一般商用多任務(wù)操作系統(tǒng)如Unix、Windows有共同的特點(diǎn),也有不同的特點(diǎn)。對(duì)于商用多任務(wù)操作系統(tǒng),其目的是方便用戶管理計(jì)算機(jī)資源,追求吞吐量;而實(shí)時(shí)操作系統(tǒng)要求在限定的響應(yīng)時(shí)間內(nèi)提供所需水平的服務(wù),追求實(shí)時(shí)性、可確定性、可靠性。

        評(píng)價(jià)一個(gè)實(shí)時(shí)操作系統(tǒng)一般可以從任務(wù)調(diào)度、內(nèi)存管理、任務(wù)通訊、內(nèi)存開銷、任務(wù)切換時(shí)間、最大中斷禁止時(shí)間等幾個(gè)方面來衡量。其中最大中斷禁止時(shí)間和任務(wù)切換時(shí)間是評(píng)價(jià)一個(gè)實(shí)時(shí)操作系統(tǒng)實(shí)時(shí)性的最重要的兩個(gè)技術(shù)指標(biāo)。

        2 標(biāo)準(zhǔn)Linux制約實(shí)時(shí)性的因素

        由于Linux系統(tǒng)本身是一個(gè)面向桌面的系統(tǒng),其主要設(shè)計(jì)標(biāo)準(zhǔn)的是方便用戶管理計(jì)算機(jī)資源,追求系統(tǒng)資源最大利用率,而不是有確定可預(yù)測(cè)的實(shí)時(shí)性能。所以將它應(yīng)用于實(shí)時(shí)應(yīng)用中時(shí)存在響應(yīng)時(shí)間不可預(yù)測(cè)、時(shí)鐘粒度粗糙等問題。

        2.1 響應(yīng)時(shí)間

        響應(yīng)時(shí)間是指從系統(tǒng)接到即時(shí)處理程序的中斷(interrupt)請(qǐng)求,到開始執(zhí)行該處理程序間的時(shí)間差,如圖1所示。

        圖1 響應(yīng)時(shí)間

        影響系統(tǒng)響應(yīng)時(shí)間的因素包括:中斷延遲(interrupt Latency)、中斷服務(wù)例程運(yùn)行時(shí)間(Interrupt handler duration)、調(diào)度延遲(Scheduler Latency)和調(diào)度程序運(yùn)行時(shí)間(Scheduling duration)。

        2.1.1 中斷延遲

        中斷延遲即中斷響應(yīng)時(shí)間,是指從產(chǎn)生中斷請(qǐng)求到相應(yīng)中斷服務(wù)程序的第一條指令被執(zhí)行之間的這段時(shí)間。由于中斷具備有優(yōu)先級(jí)而且可以嵌套產(chǎn)生,因此可以測(cè)知優(yōu)先級(jí)最高的中斷在執(zhí)行時(shí)的延遲時(shí)間。然而產(chǎn)生中斷延遲的原因除了處理器響應(yīng)時(shí)間外,更重要的是操作系統(tǒng)往往會(huì)大大增加中斷被延遲的時(shí)間。在操作系統(tǒng)運(yùn)行過程中,存在著一些關(guān)鍵的操作,這些操作在執(zhí)行時(shí),操作系統(tǒng)會(huì)禁止在其間插入任何中斷。因此如果一個(gè)中斷請(qǐng)求在操作系統(tǒng)禁止中斷的這段時(shí)間里產(chǎn)生,那么對(duì)它的處理就會(huì)始終保持在掛起狀態(tài),直到操作系統(tǒng)重新允許中斷插入。最終,中斷延遲在最壞情況下的數(shù)值是和操作系統(tǒng)關(guān)鍵操作中的指令序列在中斷請(qǐng)求產(chǎn)生后繼續(xù)執(zhí)行的時(shí)間緊密相關(guān),實(shí)時(shí)系統(tǒng)就是要確保系統(tǒng)中的關(guān)鍵事件能夠在限定的時(shí)間段內(nèi)被處理。

        2.1.2 調(diào)度延遲

        較長(zhǎng)時(shí)間的調(diào)度延遲有許多原因。其一是驅(qū)動(dòng)在入口處或中斷服務(wù)例程進(jìn)行了許多操作;其二是由于缺乏調(diào)度點(diǎn),內(nèi)核長(zhǎng)時(shí)間執(zhí)行一部分代碼,這些都導(dǎo)致了內(nèi)核長(zhǎng)時(shí)間內(nèi)沒有得到機(jī)會(huì)去進(jìn)行調(diào)度運(yùn)算。簡(jiǎn)單的解決方法是使調(diào)度程序運(yùn)行得更加頻繁。但實(shí)際上這個(gè)問題并不那么簡(jiǎn)單。首先,如果調(diào)度程序運(yùn)行過于頻繁,將引發(fā)頻繁的進(jìn)程切換,導(dǎo)致過多的CPU和內(nèi)存資源的浪費(fèi);其次會(huì)影響中斷服務(wù)時(shí)機(jī)的選擇和服務(wù)的質(zhì)量,再次影響進(jìn)程IPC。引發(fā)過多的資源協(xié)調(diào)問題,從而導(dǎo)致系統(tǒng)性能的降低。因此讓調(diào)度器保持一個(gè)有規(guī)律的運(yùn)行節(jié)拍,但是又不能過于頻繁的運(yùn)行很重要。正確的解決方法是,讓調(diào)度器在需要的時(shí)候盡快運(yùn)行,例如:中斷發(fā)生以后,需要重新調(diào)度,從就緒隊(duì)列中選擇下一個(gè)進(jìn)程。

        2.2 時(shí)鐘問題

        操作系統(tǒng)環(huán)境建立之后,任務(wù)的執(zhí)行和中止在很多情況下都是由時(shí)鐘直接或間接喚起的,時(shí)鐘也是操作系統(tǒng)活動(dòng)的基準(zhǔn)。為了提高系統(tǒng)的平均吞吐率,Linux 2.6將時(shí)鐘中斷的最小間隔設(shè)置為1毫秒,雖然相比2.4內(nèi)核的10毫秒有了很大的提高,但是實(shí)時(shí)應(yīng)用一般都需要微秒級(jí)的響應(yīng)精度,1ms的時(shí)鐘粒度顯然不能滿足實(shí)時(shí)應(yīng)用的需求。如果要把時(shí)鐘的間隔縮小以滿足周期性的實(shí)時(shí)任務(wù)的需要,但是Linux的進(jìn)程切換比較費(fèi)時(shí),時(shí)鐘中斷越頻繁,而花在中斷處理上的時(shí)間就越多,系統(tǒng)的大部分時(shí)間是調(diào)用進(jìn)程調(diào)度程序進(jìn)行進(jìn)程調(diào)度而不能進(jìn)行正常的處理。

        3 嵌入式Linux實(shí)時(shí)化改進(jìn)措施

        3.1 增加kernel可搶占性。

        一般內(nèi)核的不可搶占性使實(shí)時(shí)任務(wù)無法提供任務(wù)的調(diào)度權(quán),可以通過修改源碼,將系統(tǒng)調(diào)用的過程細(xì)分,縮小禁止中斷、內(nèi)核加鎖的范圍。增加調(diào)度器運(yùn)行的時(shí)機(jī)。

        3.2 對(duì)中斷進(jìn)行軟件模擬

        采用軟件對(duì)中斷模擬,在Linux內(nèi)核下增加一個(gè)軟件層,來控制中斷和處理器關(guān)鍵操作。對(duì)cli(關(guān)中斷)和sti(開中斷)命令進(jìn)行封裝,在調(diào)用cli或者sti時(shí),只是更改中斷的標(biāo)記位,并不真正的去開、關(guān)中斷。例如:RT-Linux,由兩個(gè)子內(nèi)核構(gòu)成,一個(gè)用于Linux環(huán)境,一個(gè)用于實(shí)時(shí)環(huán)境,可以有效改善系統(tǒng)中斷延遲時(shí)間的問題。

        3.3 采用高精度定時(shí)器

        一般內(nèi)核無法提供高精度時(shí)鐘,也即無法高精度分辨實(shí)時(shí)任務(wù)的到來。采用高精度定時(shí)器,為系統(tǒng)提供更多的剝奪點(diǎn)。通過系統(tǒng)硬件提供的高精度時(shí)鐘,可以解決時(shí)鐘粒度過大的問題。

        3.4 改進(jìn)調(diào)度算法

        雖然Linux進(jìn)程調(diào)度也支持實(shí)時(shí)優(yōu)先級(jí),但缺乏有效的實(shí)時(shí)任務(wù)的調(diào)度機(jī)制和調(diào)度算法,無法滿足HRT、QoS等的任務(wù)需求,可以通過向調(diào)度器增加hook或改造調(diào)度器來改善。目前有很多新穎的操作系統(tǒng)調(diào)度框架和調(diào)度算法都有Linux實(shí)現(xiàn),比如RED-Linux所定義的一個(gè)通用的實(shí)時(shí)調(diào)度框架;QLinux所采用的分層式的CPU調(diào)度框架,及新穎的調(diào)度算法如H-SFQ,以及Cello磁盤調(diào)度算法等;SILK所使用的將對(duì)一個(gè)包的網(wǎng)絡(luò)處理抽象成PATH,然后在PATH之間進(jìn)行調(diào)度。

        3.5 采用微內(nèi)核結(jié)構(gòu)

        微內(nèi)核結(jié)構(gòu)的設(shè)計(jì)有很大的好處。調(diào)試用戶進(jìn)程要比調(diào)試內(nèi)核進(jìn)程要容易許多,用戶進(jìn)程在獨(dú)立的地址空間運(yùn)行,不同模塊間的內(nèi)存管理錯(cuò)誤不會(huì)互相影響,驅(qū)動(dòng)程序可以充分利用內(nèi)核提供的多線程機(jī)制。另一好處是系統(tǒng)的可擴(kuò)展性,既可以小到100K,可以放入ROM,也可以大到足以適應(yīng)多機(jī)系統(tǒng)的需要。移植及維護(hù)微內(nèi)核結(jié)構(gòu)的系統(tǒng)都很方便。切換上下文速度快,由于內(nèi)核很小,可以方便的計(jì)算出最差的時(shí)間參數(shù),如中斷響應(yīng)時(shí)間。微內(nèi)核的一個(gè)弱點(diǎn)是性能不好,因?yàn)閮?nèi)核需要大量的進(jìn)程通信和上下文切換。只能提供簡(jiǎn)單的服務(wù),相同的任務(wù)微內(nèi)核系統(tǒng)要調(diào)用較多的系統(tǒng)調(diào)用。

        4 結(jié)論

        隨著應(yīng)用的復(fù)雜化和硬件的發(fā)展,一個(gè)嵌入式控制器系統(tǒng)可能要同時(shí)控制和監(jiān)視很多外設(shè),要求有實(shí)時(shí)響應(yīng),有很多處理任務(wù),各個(gè)任務(wù)之間有多種信息傳遞,因此嵌入式操作系統(tǒng)在嵌入式系統(tǒng)中將會(huì)發(fā)揮更大的作用,實(shí)時(shí)性是絕大多數(shù)嵌入式系統(tǒng)的需求,研究嵌入式操作系統(tǒng)內(nèi)核的實(shí)時(shí)化技術(shù)及其在典型嵌入式實(shí)時(shí)系統(tǒng)中的應(yīng)用技術(shù)具有重要的意義。Linux以其諸多的優(yōu)勢(shì)不但在桌面操作系統(tǒng)中獲得了巨大的成功,通過對(duì)其實(shí)時(shí)性能等方面的改造,必將在嵌入式領(lǐng)域發(fā)揮巨大的作用。

        [1]鄒思軼.嵌入式Linux設(shè)計(jì)與應(yīng)用.清華大學(xué)出版社,2002.

        [2]Daniel P.Bovet,Marco Cesati.深入理解LINUX內(nèi)核.第二版[M].中國電力出版社,2004.

        [3]李小群,趙慧斌.Linux 實(shí)時(shí)調(diào)度方案的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)研究與發(fā)展,2003,5.

        [4]趙慧斌,李小群.改善Linux 核心可搶占性方法的研究與實(shí)現(xiàn)[J].計(jì)算機(jī)學(xué)報(bào),2004,2.

        猜你喜歡
        內(nèi)核中斷進(jìn)程
        萬物皆可IP的時(shí)代,我們當(dāng)夯實(shí)的IP內(nèi)核是什么?
        強(qiáng)化『高新』內(nèi)核 打造農(nóng)業(yè)『硅谷』
        債券市場(chǎng)對(duì)外開放的進(jìn)程與展望
        中國外匯(2019年20期)2019-11-25 09:54:58
        基于嵌入式Linux內(nèi)核的自恢復(fù)設(shè)計(jì)
        Linux內(nèi)核mmap保護(hù)機(jī)制研究
        跟蹤導(dǎo)練(二)(5)
        千里移防,衛(wèi)勤保障不中斷
        解放軍健康(2017年5期)2017-08-01 06:27:44
        社會(huì)進(jìn)程中的新聞學(xué)探尋
        我國高等教育改革進(jìn)程與反思
        Linux僵死進(jìn)程的產(chǎn)生與避免
        狠狠色噜噜狠狠狠狠米奇777| 中文字幕有码久久高清| 高清日韩av在线免费观看| 天堂网www资源在线| 韩国19禁主播深夜福利视频| 欧美亚洲国产丝袜在线| 中文字幕午夜精品一区二区三区| 亚洲精品无码永久在线观看| 亚洲永久精品ww47| 国产欧美久久久精品影院| 日本一区二区不卡二区| 精品一区二区三区免费视频| 亚洲精品无码高潮喷水在线| 亚洲AV无码久久久久调教| 在线成人影院国产av| 一二三四日本中文在线| 欧美一级三级在线观看| 97中文字幕一区二区| 天堂网av一区二区三区在线观看| 尤物视频在线观看| 国产亚洲高清不卡在线观看| 字幕网中文字幕精品一区| 国产精品国产精品国产专区不卡| 人妻被黑人粗大的猛烈进出 | 国产成人精品午夜二三区波多野| 91国视频| 国产精品美女自在线观看| 亚洲乱码无人区卡1卡2卡3| 中文字幕日本最新乱码视频| 91精品在线免费| 国产高潮流白浆视频在线观看| 9 9久热re在线精品视频| 国产精品乱一区二区三区| 亚洲一区二区三区精彩视频| 亚洲成av人在线观看网址| 99久久精品国产一区二区蜜芽| 妇女自拍偷自拍亚洲精品| 亚洲乱码av中文一区二区 | 国产成人v爽在线免播放观看| 极品少妇在线观看视频 | 超级碰碰色偷偷免费视频|