• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      淺析嵌入式Linux操作系統(tǒng)的實(shí)時(shí)應(yīng)用中的問題與優(yōu)化

      2016-03-19 16:35:11袁世軍中煤科工集團(tuán)重慶研究院有限公司重慶400037
      低碳世界 2016年32期
      關(guān)鍵詞:嵌入式操作系統(tǒng)補(bǔ)丁內(nèi)核

      袁世軍(中煤科工集團(tuán)重慶研究院有限公司,重慶400037)

      淺析嵌入式Linux操作系統(tǒng)的實(shí)時(shí)應(yīng)用中的問題與優(yōu)化

      袁世軍(中煤科工集團(tuán)重慶研究院有限公司,重慶400037)

      隨著我國計(jì)算機(jī)信息技術(shù)的發(fā)展,嵌入式系統(tǒng)逐漸被人們認(rèn)可,越來越多地應(yīng)用到我們的日常生活中,而嵌入式實(shí)時(shí)操作系統(tǒng)的開發(fā)是在這個(gè)基礎(chǔ)上進(jìn)一步開發(fā)研究出來的結(jié)果,但由于其開發(fā)成本高,價(jià)格昂貴,而且核心技術(shù)沒有公開,我國要想應(yīng)用只有借用別人的技術(shù),在實(shí)時(shí)應(yīng)用中非常不劃算,而Linux操作系統(tǒng)的出現(xiàn)使得這一局面大為改觀,到目前為止Linux操作系統(tǒng)已然成為嵌入式操作系統(tǒng)實(shí)時(shí)應(yīng)用時(shí)的最佳選擇之一。本文通過對(duì)嵌入式Linux操作系統(tǒng)進(jìn)行概況分析,主要探討嵌入式Linux操作系統(tǒng)在實(shí)時(shí)應(yīng)用中的問題及其優(yōu)化方法。

      嵌入式Linux操作系統(tǒng);實(shí)時(shí)應(yīng)用;問題;優(yōu)化

      由于嵌入式Linux操作系統(tǒng)具有開源,免費(fèi)以及支持多種架構(gòu)等特點(diǎn),使其在嵌入式操作系統(tǒng)中得到了廣泛地應(yīng)用,它是后PC時(shí)代來臨時(shí)嵌入式操作系統(tǒng)與Internet的有效融合,但是嵌入式Linux操作系統(tǒng)在設(shè)計(jì)之初并沒有對(duì)其實(shí)時(shí)性方面進(jìn)行仔細(xì)研究,尤其是內(nèi)核中沒有設(shè)計(jì)允許搶占的要求,隨著現(xiàn)今嵌入式Linux操作系統(tǒng)對(duì)實(shí)時(shí)性的要求越來越高,導(dǎo)致其在具體應(yīng)用過程中受到諸多限制,出現(xiàn)了許多問題,對(duì)此需要對(duì)嵌入式Linux操作系統(tǒng)的實(shí)時(shí)應(yīng)用進(jìn)行相應(yīng)的優(yōu)化,這也是本文分析探討的重點(diǎn)。

      1 嵌入式Linux操作系統(tǒng)的概況

      嵌入式Linux操作系統(tǒng)最初是由一個(gè)叫Linus的芬蘭大學(xué)生完成的一份作業(yè),其內(nèi)容是關(guān)于Unix課程的,主要是設(shè)計(jì)出一個(gè)包含兩個(gè)向屏幕寫字母的進(jìn)程,而進(jìn)程之間的切換則通過定時(shí)器來完成,就是這么一個(gè)小程序發(fā)展到如今正在逐步完善,是許多編程愛好者共同努力的結(jié)果,到目前為止,Linux已經(jīng)變成了一個(gè)應(yīng)用最廣,真正優(yōu)秀并且值得信賴的嵌入式操作系統(tǒng)[1]。

      ①嵌入式Linux操作系統(tǒng)的開發(fā)成本低,目前大多數(shù)的商業(yè)操作系統(tǒng)都價(jià)格昂貴,而Linux操作系統(tǒng)卻是完全免費(fèi),而且其性能非常優(yōu)秀,源代碼也完全公開,這讓許多領(lǐng)域的不同用戶都可以按照自己的需求改造內(nèi)核,從而設(shè)計(jì)出自己滿意的嵌入式操作系統(tǒng);②Linux操作系統(tǒng)有較高的穩(wěn)定性,這主要是由于其內(nèi)核具備高度穩(wěn)定性,既使移植到特定平臺(tái)上其穩(wěn)定性依然如故,而且移植過程相對(duì)也較為容易簡便,可以運(yùn)用在多種處理器上;③Linux操作系統(tǒng)具備強(qiáng)大的網(wǎng)強(qiáng)功能,現(xiàn)在通用的網(wǎng)絡(luò)協(xié)議和網(wǎng)絡(luò)接口基本都已經(jīng)訂制在Linux中,而且Linux的內(nèi)核處理器在處理這些網(wǎng)絡(luò)協(xié)議時(shí)更有效率,而且其吞吐量也更高;④Linux操作系統(tǒng)具備完整的開發(fā)工具鏈,其提供的開發(fā)工具無論從編輯器到底層調(diào)試,適用于多種體系結(jié)構(gòu)的平臺(tái)。

      2 嵌入式Linux操作系統(tǒng)在實(shí)時(shí)應(yīng)用中的問題

      如上文所述,嵌入式Linux操作系統(tǒng)針對(duì)網(wǎng)絡(luò)協(xié)議具有很高的處理效率,也就是說其具備很高的吞吐量,標(biāo)準(zhǔn)的Linux操作系統(tǒng)正是以這個(gè)作為主要的研究目標(biāo),而沒有考慮其實(shí)時(shí)應(yīng)用過程中所要遇到的問題,比如需滿足時(shí)間的約束要求等,其具體不足之處分析如下:

      (1)Linux操作系統(tǒng)的內(nèi)核是不可搶占的,它是以用戶態(tài)和核心態(tài)兩種模式進(jìn)行運(yùn)行,當(dāng)進(jìn)程運(yùn)行到用戶態(tài)時(shí),就會(huì)被優(yōu)先級(jí)別更高的進(jìn)程所搶占,而當(dāng)運(yùn)行到核心態(tài)時(shí),卻不能被用戶態(tài)所搶占;

      (2)在Linux操作系統(tǒng)的運(yùn)行過程中,在突然發(fā)生某些事件時(shí),極有可能會(huì)阻塞到實(shí)時(shí)進(jìn)程的正常運(yùn)行,也就不能確定出實(shí)時(shí)進(jìn)程的確切響應(yīng)時(shí)間;

      (3)Linux操作系統(tǒng)在實(shí)時(shí)應(yīng)用過程若是發(fā)生頻繁短時(shí)間的中斷現(xiàn)象,極有可能會(huì)導(dǎo)致中斷延遲出現(xiàn)不可控制的局面;

      (4)在實(shí)時(shí)應(yīng)用時(shí)優(yōu)先級(jí)反轉(zhuǎn)的現(xiàn)象可能會(huì)使高優(yōu)先級(jí)的進(jìn)程被低優(yōu)先級(jí)的進(jìn)程所阻塞,導(dǎo)致優(yōu)先級(jí)不能正常反轉(zhuǎn)的現(xiàn)象發(fā)生,同時(shí)Linux操作系統(tǒng)與通用的嵌入式操作系統(tǒng)相比還缺少相應(yīng)細(xì)粒度與多種模式運(yùn)行下的定時(shí)器,導(dǎo)致進(jìn)程之間不能正常切換[2]。

      3 嵌入式Linux操作系統(tǒng)在實(shí)時(shí)應(yīng)用中的優(yōu)化方法

      通過上文的探討分析,可以看出嵌入式Linux操作系統(tǒng)在進(jìn)行實(shí)時(shí)應(yīng)用時(shí)還存在許多問題,對(duì)此需要增強(qiáng)Linux操作系統(tǒng)的實(shí)時(shí)應(yīng)用性,其具體優(yōu)化方法如下所示:

      3.1 結(jié)構(gòu)改進(jìn)

      3.1.1 標(biāo)準(zhǔn)內(nèi)核搶占

      標(biāo)準(zhǔn)內(nèi)核的搶占主要是通過對(duì)標(biāo)準(zhǔn)Linux的內(nèi)核進(jìn)行相應(yīng)的修改,使得高優(yōu)先級(jí)能夠搶占低優(yōu)先級(jí)程,在具體實(shí)踐中有以下兩種內(nèi)核補(bǔ)丁方法:首先就是利用低內(nèi)核的延遲方案,也就是修改Linux的單內(nèi)核結(jié)構(gòu),有效縮短非搶斷代碼的長度,使內(nèi)核的實(shí)時(shí)性得到增強(qiáng);其次就是利用內(nèi)核可搶斷方案,其內(nèi)核可搶斷補(bǔ)丁主要由Rober Love提出以及進(jìn)行相應(yīng)的維護(hù),此方案不僅使內(nèi)核中的單執(zhí)1行流的限制得到解除,而且根據(jù)自旋鎖宏定義和互斥鎖保護(hù)數(shù)據(jù)的完整性,使得內(nèi)核將擁有完整的可搶斷性[3];另外將這兩種內(nèi)核補(bǔ)丁方法放在一起進(jìn)行實(shí)驗(yàn),結(jié)果發(fā)現(xiàn)其實(shí)驗(yàn)后的系統(tǒng)性能更加優(yōu)秀,這充分表明這兩種內(nèi)核補(bǔ)丁修改方案完全適用于Linux操作系統(tǒng)的內(nèi)核搶占修改,可使得Linux操作系統(tǒng)的結(jié)構(gòu)發(fā)生改變。

      3.1.2 標(biāo)準(zhǔn)內(nèi)核的實(shí)時(shí)補(bǔ)丁

      對(duì)標(biāo)準(zhǔn)內(nèi)核進(jìn)行實(shí)時(shí)補(bǔ)丁也可以修改Linux的內(nèi)核,以便提高其實(shí)時(shí)性能,具體方法如下:①實(shí)時(shí)微內(nèi)核,這種方法是將一個(gè)內(nèi)核作為標(biāo)準(zhǔn)內(nèi)核與硬件層之間的接口層,在緊湊代碼模塊的同時(shí),還把標(biāo)準(zhǔn)內(nèi)核當(dāng)作后臺(tái)任務(wù)執(zhí)行,而且微內(nèi)核可截取硬件中斷,保證標(biāo)準(zhǔn)內(nèi)核不會(huì)搶占微內(nèi)核正在處理的中斷,另外微內(nèi)核還可以調(diào)度優(yōu)先級(jí)的實(shí)時(shí)任務(wù)以避免任務(wù)的延遲時(shí)間太長,這種雙內(nèi)核機(jī)制可以最大程度地縮短實(shí)時(shí)任務(wù)的中斷時(shí)間,以獲得硬時(shí)實(shí)支持;②POSIX實(shí)時(shí)擴(kuò)展,這種方法是直接將標(biāo)準(zhǔn)內(nèi)核進(jìn)行修改,以此提供一個(gè)實(shí)現(xiàn)POSIX實(shí)時(shí)擴(kuò)展的庫,通過這個(gè)庫可以產(chǎn)生一個(gè)符合IEEE1003.1d標(biāo)準(zhǔn)的系統(tǒng),這種修改方法沒有增加另外的內(nèi)核,其補(bǔ)丁程序是直接針對(duì)內(nèi)核的,從而能夠?qū)崿F(xiàn)相應(yīng)標(biāo)準(zhǔn)的定時(shí)器,信號(hào),信號(hào)量以及進(jìn)程鎖的內(nèi)存機(jī)制,實(shí)現(xiàn)內(nèi)存共享,優(yōu)先級(jí)調(diào)度以及同步或異步I/O等;③納內(nèi)核方法,這種方法的顯著特征就是可以讓許多操作系統(tǒng)同時(shí)運(yùn)行在納內(nèi)核上,只要其中一個(gè)是實(shí)時(shí)系統(tǒng)即可;④資源內(nèi)核擴(kuò)展,這種方法同實(shí)時(shí)微內(nèi)核方法一樣,都是緊湊代碼模塊,為普通內(nèi)核以及用戶進(jìn)程提供相對(duì)應(yīng)的資源模塊,讓用戶進(jìn)程在運(yùn)行過程中可以以請求或保留的方式存在,同時(shí)還要保證能夠獲得相應(yīng)的機(jī)器資源[3]。

      3.2 任務(wù)響應(yīng)時(shí)間分析

      嵌入式Linux操作系統(tǒng)在運(yùn)行過程中由于某些突發(fā)事件而無法確定出任務(wù)響應(yīng)的時(shí)間,而通常情況下影響任務(wù)響應(yīng)時(shí)間的因素主要包括分派時(shí)間中斷,服務(wù)時(shí)間中斷,調(diào)度延遲,上下文切換時(shí)間以及系統(tǒng)調(diào)用返回時(shí)間等,在這其中服務(wù)時(shí)間中斷的減少是一個(gè)非常重要的問題,不能通過禁止其他特定中斷而進(jìn)行中斷處斷,這種方法雖然可以有效減少中斷服務(wù)的時(shí)間,但若是出現(xiàn)無數(shù)個(gè)中斷的情況,關(guān)中斷就會(huì)造成丟中斷,這種代價(jià)無疑是巨大的。對(duì)此需要在Linux操作系統(tǒng)的內(nèi)核和硬件中斷控制器的中設(shè)置一個(gè)中斷模擬軟件層,就可以很好的解決中斷丟失的問題,比如當(dāng)發(fā)生中斷情況時(shí),操作系統(tǒng)就會(huì)中斷變量進(jìn)行記錄,然后立即返回給CPU處理器,在這個(gè)過程中只保存了中斷模擬程序中的寄存器,而有效拖延了中斷服務(wù)程序的過程,從而保證了中斷任務(wù)運(yùn)行時(shí)的響應(yīng)時(shí)間[4]。

      3.3 定時(shí)器粒度分析

      定時(shí)器的粒度具體指的是Linux操作系統(tǒng)所提供的最小間隔時(shí)間,在Linux操作系統(tǒng)中定時(shí)器每兩次中斷之間的時(shí)間就是其粒度,這也是影響Linux操作系統(tǒng)響應(yīng)速度的一個(gè)主要因素,通常情況下標(biāo)準(zhǔn)Linux操作系統(tǒng)的定時(shí)器粒度大約為10ms,這個(gè)粒度不能滿足Linux操作系統(tǒng)的實(shí)時(shí)調(diào)度需求,就需用將其粒度進(jìn)行細(xì)化,具體方式有兩種:①可以將操作系統(tǒng)的實(shí)時(shí)時(shí)鐘芯片放置在單次觸發(fā)模式下,通過多處微秒級(jí)的細(xì)小粒度來起到細(xì)化其粒度的作用;②將Linux操作系統(tǒng)的內(nèi)核中的Hz宏的定義進(jìn)行修改,這種細(xì)化粒度的方式雖然在某種程度上會(huì)增加系統(tǒng)開銷,但只需要對(duì)定時(shí)器在初始時(shí)進(jìn)行一次設(shè)置就可以長期保持,這樣可以有效提升系統(tǒng)定時(shí)器的處理效率。

      3.4 優(yōu)先級(jí)反向問題

      嵌入式Linux操作系統(tǒng)在實(shí)時(shí)應(yīng)用時(shí),通過一種二元信號(hào)量的機(jī)制來實(shí)現(xiàn)資源共享,從而進(jìn)行有效管理。當(dāng)臨界資源任務(wù)在進(jìn)入到臨界區(qū)之前必須擁有相應(yīng)的信號(hào)量,否則其沒有執(zhí)行臨界代碼的權(quán)限,而且由于一些關(guān)健數(shù)據(jù)區(qū)的信號(hào)量得到了保護(hù),一些高優(yōu)先極的程序進(jìn)程在等待信號(hào)量的過程中出現(xiàn)了阻塞,從而導(dǎo)致低優(yōu)先級(jí)進(jìn)程處于運(yùn)行態(tài)的狀況發(fā)生,這就是優(yōu)先級(jí)反向問題,這種問題在系統(tǒng)運(yùn)行中難以預(yù)測,甚至還會(huì)導(dǎo)致操作系統(tǒng)出崩潰的局面,對(duì)于這種優(yōu)先級(jí)反向問題主要有兩種解決方法:第一種就是基本優(yōu)先級(jí)繼承協(xié)議,也就是將低優(yōu)先級(jí)進(jìn)程的優(yōu)先級(jí)提高到高優(yōu)先級(jí)進(jìn)程的優(yōu)先級(jí)別,另一種就是優(yōu)先級(jí)上限繼承協(xié)議,也就是事先設(shè)置一個(gè)優(yōu)先級(jí)上限,當(dāng)進(jìn)程在獲取資源共享的使用權(quán)時(shí),就可以將該進(jìn)程的優(yōu)先級(jí)別提高到上限,而當(dāng)高優(yōu)先級(jí)的進(jìn)程在釋放資源時(shí)就立刻恢復(fù)優(yōu)先級(jí)原有的級(jí)別[5]。

      4 結(jié)束語

      綜上所述,本文通過對(duì)嵌入式Linux操作系統(tǒng)進(jìn)行概況分析,主要探討嵌入式Linux操作系統(tǒng)在實(shí)時(shí)應(yīng)用中的問題及其優(yōu)化方法,其實(shí)時(shí)應(yīng)用的問題及其優(yōu)法方法主要表面在四個(gè)方面,即系統(tǒng)的結(jié)構(gòu)內(nèi)核改進(jìn),任務(wù)響應(yīng)時(shí)間的減少,定時(shí)器粒度的細(xì)化以及優(yōu)先級(jí)進(jìn)程的級(jí)別提升與恢復(fù)等,希望本文的分析探討讓嵌入式Linux操作系統(tǒng)更好地應(yīng)用在實(shí)時(shí)應(yīng)用中,在走入我們生活與工作的同時(shí)可以帶給我們更大加完善的操作體驗(yàn)。

      [1]馬季蘭,劉 勇.嵌入式Linux操作系統(tǒng)的實(shí)時(shí)性研究[J].計(jì)算機(jī)技術(shù)與發(fā)展,2007,08:80~83+91.

      [2]陳文星,張輝宜.嵌入式Linux操作系統(tǒng)的特性[J].計(jì)算機(jī)技術(shù)與發(fā)展,2006,03:20~21+25.

      [3]肖振華,徐玉斌,解 輝,呂亞男.基于嵌入式Linux2.6的實(shí)時(shí)優(yōu)化[J].計(jì)算機(jī)技術(shù)與發(fā)展,2008,11:83~86.

      [4]王宇英.嵌入式Linux實(shí)時(shí)化及其應(yīng)用[D].西北工業(yè)大學(xué),2003.

      [5]李智鵬.嵌入式Linux操作系統(tǒng)實(shí)時(shí)問題研究[D].湖南大學(xué),2004.

      TP316.81

      A

      2095-2066(2016)32-0240-02

      2016-11-2

      袁世軍(1978-),男,四川隆昌人,工程師,本科,從事技術(shù)工作。

      猜你喜歡
      嵌入式操作系統(tǒng)補(bǔ)丁內(nèi)核
      萬物皆可IP的時(shí)代,我們當(dāng)夯實(shí)的IP內(nèi)核是什么?
      強(qiáng)化『高新』內(nèi)核 打造農(nóng)業(yè)『硅谷』
      基于嵌入式Linux內(nèi)核的自恢復(fù)設(shè)計(jì)
      健胃補(bǔ)丁
      學(xué)與玩(2018年5期)2019-01-21 02:13:06
      典型實(shí)時(shí)嵌入式操作系統(tǒng)應(yīng)用分析
      電子測試(2018年23期)2018-12-29 11:11:30
      Linux內(nèi)核mmap保護(hù)機(jī)制研究
      繡朵花兒當(dāng)補(bǔ)丁
      文苑(2018年18期)2018-11-08 11:12:30
      補(bǔ)丁奶奶
      幼兒畫刊(2018年7期)2018-07-24 08:25:56
      基于嵌入式操作系統(tǒng)的工業(yè)采集板設(shè)計(jì)
      應(yīng)用服務(wù)型人才培養(yǎng)體系下的嵌入式操作系統(tǒng)教學(xué)改革探索
      定远县| 龙川县| 镇安县| 方城县| 鄯善县| 霍州市| 南靖县| 芜湖县| 梁山县| 贞丰县| 宁津县| 北京市| 信丰县| 红桥区| 南昌县| 安塞县| 兰州市| 冀州市| 泸定县| 秭归县| 利辛县| 阿拉善右旗| 安泽县| 镇沅| 兰考县| 葫芦岛市| 绥阳县| 邮箱| 色达县| 普兰店市| 科技| 通州区| 嘉祥县| 通化市| 民乐县| 富川| 潞西市| 泸西县| 德惠市| 东丽区| 巫溪县|