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

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

2016-03-19 16:35:11袁世軍中煤科工集團(tuán)重慶研究院有限公司重慶400037
低碳世界 2016年32期
關(guān)鍵詞:進(jìn)程嵌入式標(biāo)準(zhǔn)

袁世軍(中煤科工集團(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í)的最佳選擇之一。本文通過對嵌入式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ì)之初并沒有對其實(shí)時(shí)性方面進(jìn)行仔細(xì)研究,尤其是內(nèi)核中沒有設(shè)計(jì)允許搶占的要求,隨著現(xiàn)今嵌入式Linux操作系統(tǒng)對實(shí)時(shí)性的要求越來越高,導(dǎo)致其在具體應(yīng)用過程中受到諸多限制,出現(xiàn)了許多問題,對此需要對嵌入式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)定性依然如故,而且移植過程相對也較為容易簡便,可以運(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)針對網(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í)還存在許多問題,對此需要增強(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)核的搶占主要是通過對標(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ǔ)丁

對標(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ǔ)丁程序是直接針對內(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)程提供相對應(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à)無疑是巨大的。對此需要在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)開銷,但只需要對定時(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)出崩潰的局面,對于這種優(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é)束語

綜上所述,本文通過對嵌入式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ù)工作。

猜你喜歡
進(jìn)程嵌入式標(biāo)準(zhǔn)
2022 年3 月實(shí)施的工程建設(shè)標(biāo)準(zhǔn)
債券市場對外開放的進(jìn)程與展望
中國外匯(2019年20期)2019-11-25 09:54:58
忠誠的標(biāo)準(zhǔn)
美還是丑?
搭建基于Qt的嵌入式開發(fā)平臺(tái)
嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
一家之言:新標(biāo)準(zhǔn)將解決快遞業(yè)“成長中的煩惱”
專用汽車(2016年4期)2016-03-01 04:13:43
Altera加入嵌入式視覺聯(lián)盟
倍福 CX8091嵌入式控制器
社會(huì)進(jìn)程中的新聞學(xué)探尋
主站蜘蛛池模板: 国产精品熟女亚洲AV麻豆| 亚洲综合色婷婷中文字幕| 午夜国产精品视频黄| 乱人伦99久久| 国产原创自拍不卡第一页| 波多野结衣无码视频在线观看| 欧美日韩久久综合| 色偷偷一区| 99在线视频精品| 欧美精品一区在线看| 亚洲69视频| 国产精品原创不卡在线| 亚洲免费人成影院| 69国产精品视频免费| 亚洲成年网站在线观看| 喷潮白浆直流在线播放| 中文字幕亚洲专区第19页| 日韩在线观看网站| 97成人在线视频| 国产激情国语对白普通话| 黄色片中文字幕| 亚洲最新地址| 人妻无码中文字幕一区二区三区| 国产产在线精品亚洲aavv| 亚洲国产成熟视频在线多多| 国产欧美日韩18| www中文字幕在线观看| 制服丝袜 91视频| 亚洲女同一区二区| 国产亚洲精品自在线| 毛片久久久| 日韩欧美国产另类| 亚洲成人动漫在线观看| 亚洲男人天堂网址| 亚洲成在人线av品善网好看| 在线看AV天堂| 亚洲天堂网2014| 在线播放91| 久青草免费视频| 亚洲精品波多野结衣| 嫩草在线视频| 欧美在线天堂| 四虎永久在线精品影院| 亚洲第一精品福利| 91精品在线视频观看| 欧美翘臀一区二区三区| 中文字幕欧美成人免费| 久久国产香蕉| 欧美一级高清视频在线播放| 性欧美久久| 一本大道在线一本久道| 91毛片网| 思思热在线视频精品| 成人av专区精品无码国产| 亚洲免费黄色网| 国产麻豆另类AV| 天天操精品| 第一页亚洲| 尤物成AV人片在线观看| 天天色天天综合网| 67194在线午夜亚洲 | 亚洲无码精彩视频在线观看| 亚洲精品手机在线| 国产地址二永久伊甸园| 久久精品最新免费国产成人| 免费不卡视频| 久久这里只有精品免费| 免费无码一区二区| 91口爆吞精国产对白第三集| 日韩毛片免费| 波多野结衣一区二区三区四区| 亚洲欧洲国产成人综合不卡| 一级毛片无毒不卡直接观看 | 1769国产精品免费视频| 国产精品人人做人人爽人人添| 亚洲中久无码永久在线观看软件| 91国内外精品自在线播放| 一级毛片在线播放| 在线观看免费AV网| 韩国v欧美v亚洲v日本v| 国产一二三区视频| 最新日韩AV网址在线观看|