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

        ?

        Linux的實(shí)時(shí)性研究

        2009-12-31 00:00:00孫晶華
        商場(chǎng)現(xiàn)代化 2009年11期

        [摘要] Linux已經(jīng)成為當(dāng)今最流行的操作系統(tǒng)之一,對(duì)嵌入式Linux進(jìn)行實(shí)時(shí)性改進(jìn)是嵌入式操作系統(tǒng)領(lǐng)域的一個(gè)研究熱點(diǎn)。本文分析了標(biāo)準(zhǔn)Linux實(shí)時(shí)性,為以后進(jìn)一步提高Linux操作系統(tǒng)的實(shí)時(shí)性打下基礎(chǔ)。

        [關(guān)鍵詞] Linux實(shí)時(shí)性

        一、Linux簡(jiǎn)介

        1991年底,Linus Torvalds首次在Internet上發(fā)布了基于Intel386平臺(tái)的Linux源代碼。之后,在眾多Linux愛好者包括許多UNIX專家的努力下,Linux逐漸成長(zhǎng)為一個(gè)穩(wěn)定可靠、功能完善的操作系統(tǒng)。一些軟件公司,如Red Hat、InfoMagic等也不失時(shí)機(jī)地推出了自己的以Linux為核心的操作系統(tǒng)版本,這大大推動(dòng)了Linux的商品化。在一些大的計(jì)算機(jī)公司的支持下,Linux還被移植到Alpha、PowerPC和Sparc等平臺(tái)上。Linux的使用日益廣泛,版本更新很快,目前的最新版本是2.6。

        Linux具有UNIX的所有基本特征:Linux完全支持-POSIX1003.1標(biāo)準(zhǔn),UNIX上的應(yīng)用程序可以很容易地移植到Linux上來(lái);Linux支持多用戶訪問(wèn)和多任務(wù)編程;Linux采用段頁(yè)式存儲(chǔ)管理機(jī)制;Linux支持動(dòng)態(tài)鏈接,節(jié)省了內(nèi)存空間并提高了效率;Linux 支持EXT3等13種文件系統(tǒng);Linux支持TCP/IP和PPP。

        二、標(biāo)準(zhǔn)Linux內(nèi)核制約實(shí)時(shí)性的因素

        標(biāo)準(zhǔn)Linux有幾個(gè)機(jī)制嚴(yán)重地影響了實(shí)時(shí)性。

        1.內(nèi)核不可搶占

        在Linux 2.4和以前的版本,內(nèi)核是不可搶占的,也就是說(shuō),如果當(dāng)前任務(wù)運(yùn)行在內(nèi)核態(tài),即使當(dāng)前有更緊急的任務(wù)需要運(yùn)行,當(dāng)前任務(wù)也不能被搶占。因此那個(gè)緊急任務(wù)必須等到當(dāng)前任務(wù)執(zhí)行完內(nèi)核態(tài)的操作返回用戶態(tài)后或當(dāng)前任務(wù)因需要等待某些條件滿足而主動(dòng)讓出CPU才能被考慮執(zhí)行,這很明顯嚴(yán)重影響搶占延遲。

        在Linux 2.6中,內(nèi)核已經(jīng)可以搶占,因而實(shí)時(shí)性得到了加強(qiáng)。但是內(nèi)核中仍有大量的不可搶占區(qū)域,如由自旋鎖 (spinlock)保護(hù)的臨界區(qū),以及一些顯式使用preempt_disable失效搶占的臨界區(qū)。中斷服務(wù)程序不能被其他進(jìn)程搶占。

        2.中斷關(guān)閉

        Linux在一些同步操作中使用了中斷關(guān)閉指令,中斷關(guān)閉將增大中斷延遲,降低系統(tǒng)的實(shí)時(shí)性。

        3.共享資源的互斥訪問(wèn)

        Linux操作系統(tǒng)一般采用信號(hào)量機(jī)制來(lái)解決共享資源的互斥訪問(wèn)問(wèn)題。如果任務(wù)調(diào)度采用基于優(yōu)先級(jí)的方式,則傳統(tǒng)的信號(hào)量機(jī)制在系統(tǒng)運(yùn)行時(shí)很容易造成優(yōu)先級(jí)倒置問(wèn)題,即當(dāng)一個(gè)高優(yōu)先級(jí)任務(wù)通過(guò)信號(hào)量機(jī)制訪問(wèn)共享資源時(shí),該信號(hào)量已被一低優(yōu)先級(jí)任務(wù)占有,而這個(gè)低優(yōu)先級(jí)任務(wù)在訪問(wèn)共享資源時(shí)可能又被其他一些中等優(yōu)先級(jí)的任務(wù)搶先,因此造成高優(yōu)先級(jí)任務(wù)被許多具有較低優(yōu)先級(jí)的任務(wù)阻塞,實(shí)時(shí)性難以得到保證。

        4.中斷總是最高優(yōu)先級(jí)的

        在Linux中,中斷(包括軟中斷)是最高優(yōu)先級(jí)的,不論在任何時(shí)刻,只要產(chǎn)生中斷事件,內(nèi)核將立即執(zhí)行相應(yīng)的中斷處理函數(shù)以及軟中斷,等到所有掛起的中斷和軟中斷處理完畢有才執(zhí)行正常的任務(wù)。因此在標(biāo)準(zhǔn)的Linux系統(tǒng)上,實(shí)時(shí)任務(wù)根本不可能得到實(shí)時(shí)性保證。例如,假設(shè)在一個(gè)標(biāo)準(zhǔn)Linux系統(tǒng)上運(yùn)行了一個(gè)實(shí)時(shí)任務(wù)(即使用了SCHED_FIFO調(diào)度策略并且設(shè)定了最高的實(shí)時(shí)優(yōu)先級(jí)),但是該系統(tǒng)有非常繁重的網(wǎng)絡(luò)負(fù)載和I/O負(fù)載,那么系統(tǒng)可能一直處在中斷處理狀態(tài)而沒有機(jī)會(huì)運(yùn)行任何任務(wù),這樣實(shí)時(shí)任務(wù)將永遠(yuǎn)無(wú)法運(yùn)行,搶占延遲將是無(wú)窮大。因此,如果這種機(jī)制不改,實(shí)時(shí)Linux將永遠(yuǎn)無(wú)法實(shí)現(xiàn)。

        5.調(diào)度算法和調(diào)度點(diǎn)

        在Linux 2.4和以前的版本,調(diào)度器的時(shí)間復(fù)雜度是O(n)的,而且在SMP的情況下性能低,因?yàn)樗械腃PU共享一個(gè)任務(wù)鏈表,任何時(shí)刻只能有一個(gè)調(diào)度器運(yùn)行。因此,搶占延遲很大程度上以來(lái)于當(dāng)前系統(tǒng)的任務(wù)數(shù),具有非常大的不確定性和不可預(yù)測(cè)性。

        在2.6內(nèi)核中引入的O(1)調(diào)度器很好地解決了這些問(wèn)題。此外,即使內(nèi)核是可搶占的,也不是在任何地方可以發(fā)生調(diào)度,例如在中斷上下文,一個(gè)中斷處理函數(shù)可能喚醒了某一高優(yōu)先級(jí)進(jìn)程,但是該進(jìn)程并不能立即運(yùn)行,因?yàn)樵谥袛嗌舷挛牟荒馨l(fā)生調(diào)度,中斷處理完了之后內(nèi)核還要執(zhí)行掛起的軟中斷,等它們處理完之后才有機(jī)會(huì)調(diào)度剛才喚醒的進(jìn)程。在標(biāo)準(zhǔn)Linux內(nèi)核中,調(diào)度點(diǎn)(有意安排的執(zhí)行任務(wù)調(diào)度的點(diǎn))并不多,對(duì)2.4和2.6內(nèi)核測(cè)試的結(jié)果表明,缺乏調(diào)度點(diǎn)是影響Linux實(shí)時(shí)性的一個(gè)因素。

        三、結(jié)論

        由于Linux本身基于通用目的操作系統(tǒng)的設(shè)計(jì),其實(shí)時(shí)性能并不是很強(qiáng)。但通過(guò)一定的改進(jìn)爭(zhēng)強(qiáng)其實(shí)時(shí)性能,就可以用于實(shí)時(shí)的應(yīng)用場(chǎng)合。本文分析了標(biāo)準(zhǔn)Linux實(shí)時(shí)性,為以后進(jìn)一步提高Linux操作系統(tǒng)的實(shí)時(shí)性打下基礎(chǔ)。

        參考文獻(xiàn):

        [1]Labrosse J:UC/OS-II-源代碼公開的實(shí)時(shí)嵌入式操作系統(tǒng)[M].北京:中國(guó)電力出版社,2001

        [2]陳莉君康華等:Linux操作系統(tǒng)原理和應(yīng)用[M].北京:清華大學(xué)出版社,2004

        [3]王田苗:嵌入式系統(tǒng)設(shè)計(jì)與實(shí)例開發(fā). 清華大學(xué)出版社, 2003

        [4]毛德操胡希明:Linux內(nèi)核源代碼情景分析[M].浙江:浙江大學(xué)出版社,2002

        [5] http://www.linuxforum.net/docnew/index.php[OB/OL], 2006

        [6]鄭靈翔:嵌入式系統(tǒng)設(shè)計(jì)與應(yīng)用開發(fā)[M].北京:北京航空航天大學(xué)出版社,2006

        亚洲中文无码av在线| 亚洲av一区二区三区蜜桃| 欧美性猛交aaaa片黑人| 午夜无码片在线观看影视| 制服丝袜天堂国产日韩| 免费高清视频在线观看视频| 亚洲精品国产亚洲av| 久久天天躁夜夜躁狠狠| 欧美孕妇xxxx做受欧美88| 国产精品白浆无码流出| 一二三四在线观看韩国视频| 内射白浆一区二区在线观看| 东京无码熟妇人妻av在线网址| av无码天一区二区一三区| 中文字幕丰满人妻有码专区| 青青草高中生在线视频| 特级毛片a级毛片100免费播放| 国产v视频| 一级做a爱视频在线播放| 精品女同一区二区三区免费战| 亚洲国产成人片在线观看| 亚洲成a人片在线看| 精品视频一区二区杨幂| 成人国产一区二区三区| 久久精品免费观看国产| 国产精品原创巨作av无遮| 亚洲精品成人久久av| 亚洲av无码国产精品色午夜软件 | 人妻无码aⅴ不卡中文字幕| 久久天堂av色综合| va精品人妻一区二区三区| 欧美亚洲日本国产综合在线美利坚| 国产精品爽爽va在线观看无码| 亚洲青涩在线不卡av| 白白发在线视频免费观看2| 久久久久久久久蜜桃| 久久久久国产亚洲AV麻豆| 亚洲一区二区三区色偷偷| 国产伦人人人人人人性| 99re在线视频播放| 中文字幕一区二区三区四区久久|