亚洲免费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

        夜夜春亚洲嫩草影院| 一本色道久久88综合亚精品| 国产一区三区二区视频在线观看| 色综合久久久久综合体桃花网| 一区二区三区在线 | 欧| 国产在线不卡AV观看| 亚洲一区二区三区av色婷婷| 国产变态av一区二区三区调教| 狠狠色婷婷久久综合频道日韩| 在线看亚洲十八禁网站| 亚洲24小时在线免费视频网站| 偷拍熟女亚洲另类| 少妇精品揄拍高潮少妇桃花岛| 亚洲精品第一国产综合精品| 欲妇荡岳丰满少妇岳| 99热精品国产三级在线观看 | 无码精品国产午夜| 国产视频一区二区三区观看| 亚洲精品色婷婷在线影院| 人人做人人妻人人精| 无码国产精品一区二区免费式芒果| 中文字幕一区二区av| 777国产偷窥盗摄精品品在线| 88久久精品无码一区二区毛片| 国产在线视频国产永久视频| 日本超骚少妇熟妇视频| 亚洲国产精品无码久久一区二区| 免费a级毛片无码无遮挡| 精品91精品91精品国产片| 精品福利一区二区三区| 精品视频无码一区二区三区| 2021久久最新国产精品| 久久国产亚洲av高清色| 久久久国产精品| 久久人人爽天天玩人人妻精品| 久99久精品免费视频热77| 亚洲精品98中文字幕| 国产精品户外野外| 一本一道波多野结衣av中文| 亚洲激情一区二区三区视频| 亚洲av无码码潮喷在线观看|