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

        ?

        基于Linux 系統(tǒng)的內(nèi)核編譯及實(shí)時(shí)RTAI 架構(gòu)①

        2012-07-09 01:58:36靜,珂,
        關(guān)鍵詞:內(nèi)核中斷選項(xiàng)

        張 靜, 宋 珂, 章 桐

        (同濟(jì)大學(xué)中德學(xué)院,上海201804)

        0 引言

        所謂實(shí)時(shí)系統(tǒng)(real-time system)是指其在計(jì)算和動(dòng)作方面具有性能期限、對(duì)于外界的刺激都能由計(jì)算機(jī)給出及時(shí)響應(yīng)的系統(tǒng)[1].全球許多科技公司和研究機(jī)構(gòu)都對(duì)Linux的實(shí)時(shí)性進(jìn)行了研究和改進(jìn).在眾多改進(jìn)方案中,實(shí)時(shí)應(yīng)用接口(Real-TimeApplication Interface,RTAI)和實(shí)時(shí) Linux(Real-time-Linux,RT-Linux)以其出色的性能,成為了目前主流Linux實(shí)時(shí)性改進(jìn)方案.RTAI與RT-Linux相比,其結(jié)構(gòu)更加靈活,代碼修改量更小,研發(fā)周期更短[2].

        RTAI項(xiàng)目是由意大利米蘭理工學(xué)院航天工程系發(fā)起開(kāi)發(fā)的遵循GPL的開(kāi)源項(xiàng)目,RTAI在ARM平臺(tái)上的移植,是從 3.2版本開(kāi)始的,是基于Adeos實(shí)現(xiàn)的,它的硬件抽象層HAL使用Adeos提供的服務(wù).也就是說(shuō),RTAI實(shí)現(xiàn)了Adeos中的一個(gè)域,通過(guò)Adeos實(shí)現(xiàn)RTAI域的初始化、中斷的申請(qǐng)、中斷服務(wù)程序的注冊(cè)等[3].

        RTAI在Adoes系統(tǒng)中的域優(yōu)先級(jí)高于Linux域(也就是根域),每當(dāng)中斷到來(lái)之后,Adeos先調(diào)度RTAI對(duì)該中斷進(jìn)行處理、執(zhí)行中斷相關(guān)的實(shí)時(shí)任務(wù),只有當(dāng)RTAI沒(méi)有實(shí)時(shí)任務(wù)和中斷需要處理的時(shí)候,Adeos才會(huì)調(diào)度Linux運(yùn)行,這就保證了RTAI的中斷響應(yīng)速度和實(shí)時(shí)任務(wù)不受Linux的影響,從而提供了實(shí)時(shí)系統(tǒng)的可確定性[4].

        1 Linux操作系統(tǒng)的編譯與實(shí)現(xiàn)

        1.1 Linux系統(tǒng)的安裝、內(nèi)核及RTAI選型

        我采用的是 Ubuntu 8.04.4 的 Wubi安裝,8.04.4是Ubuntu系統(tǒng)的穩(wěn)定版本,這樣成功性較高.首先查看一下默認(rèn)的內(nèi)核版本,在終端內(nèi)輸入指令zj@zj-desktop:~$uname–r顯示默認(rèn)的內(nèi)核版本是 2.6.24.26 - generic.那么接下來(lái)就要選擇一款RTAI的版本,我選擇了RTAI-3.7,進(jìn)入RTAI-3.7 的/rtai-3.7/base/arch/i386/patches,可以查看此版本RTAI支持的內(nèi)核版本.如圖1所示.

        圖1 支持的內(nèi)核版本

        由此我們選擇了 Linux -2.6.20.21.登錄已安裝完成的Ubuntu系統(tǒng),在終端輸入

        進(jìn)入/usr/src目錄,解壓文件此時(shí)會(huì)在/usr/src目錄下出現(xiàn)兩個(gè)文件夾linux-2.6.20.21 和 rtai-3.7

        1.2 內(nèi)核配置

        接下來(lái)給內(nèi)核打上相應(yīng)的RTAI補(bǔ)丁,首先確保安裝patch工具

        配置Linux內(nèi)核,內(nèi)核兩種編譯模式:編譯成內(nèi)核與編譯成模塊.可以把相應(yīng)部分編譯到內(nèi)核中,也可以把該部分編譯成模塊,動(dòng)態(tài)調(diào)用.如果編譯到內(nèi)核中,在內(nèi)核啟動(dòng)時(shí)就可以自動(dòng)支持相應(yīng)部分的功能,這樣的優(yōu)點(diǎn)是方便、速度快,機(jī)器一啟動(dòng),這部分功能同時(shí)啟動(dòng);缺點(diǎn)是會(huì)使內(nèi)核變得龐大起來(lái),不管你是否需要這部分功能,它都會(huì)存在(這是Windows的做法).

        如果編譯成模塊,就會(huì)生成對(duì)應(yīng)的.o文件,在使用的時(shí)候可以動(dòng)態(tài)加載,優(yōu)點(diǎn)是不會(huì)使內(nèi)核過(guò)分龐大,缺點(diǎn)是你得自己來(lái)調(diào)用這些模塊.建議經(jīng)常使用的部分直接編譯到內(nèi)核中,比如輸入設(shè)備、網(wǎng)卡等.

        在ubuntu下推薦使用圖形化的配置菜單,可以先執(zhí)行命令make mrproper,它將清除目錄下所有配置文件和先前生成核心時(shí)產(chǎn)生的中間文件[5].

        如圖2←no

        (2).Enable loadable module support→(允許可裝載的模塊支持)→ Module versioning support(模塊支持的版本)=no不同的內(nèi)核在使用同一模塊時(shí)區(qū)別于塔原有的模塊,此處不選.

        Enable loadable module support→Module unloading(模塊卸載)這個(gè)選項(xiàng)可以卸載不再使用的模塊,如果不選將不能卸載任何模塊.

        (3).Processor type and features→(處理器的類(lèi)型和特性)→Symmetric multi-processing support(對(duì)稱(chēng)多處理器支持)=no如果有多個(gè)CPU或者使用的是多核CPU就選上.此時(shí)"Enhanced Real Time Clock Support"選項(xiàng)必須開(kāi)啟,"Advanced Power Management"選項(xiàng)必須關(guān)閉

        圖2 內(nèi)核配置界面

        Processor type and features→Interrupt pipeline=yes

        Processor type and features→Subarchitecture Type(子構(gòu)架類(lèi)型)=PC-compatible標(biāo)準(zhǔn)的PC或兼容機(jī).

        Processor type and features→Processor family(處理器系列)=core 2/newer xeon根據(jù)實(shí)際CPU選擇,我的電腦是酷睿雙核.

        Processor type and features→Generic x86 support(通用x86支持)=no CPU能在上述”P(pán)rocessor family”中找到就可不選

        Processor type and features→Multi-core scheduler support(針對(duì)多核CPU進(jìn)行調(diào)度策略?xún)?yōu)化)=yes

        Processor type and features→Preemption Model(內(nèi)核搶占模式)→Preemptible Kernel(Low-Latency Desktop)(適合運(yùn)行實(shí)時(shí)程序的主動(dòng)內(nèi)核搶占)→yes

        (4).Power management options(ACPI,APM)→Power Management support(電源管理選項(xiàng))=no電源管理有APM和ACPI兩種標(biāo)準(zhǔn)且不能同時(shí)使用,即使關(guān)閉該選項(xiàng),X86上運(yùn)行的Linux也會(huì)在空閑時(shí)發(fā)出HLT指令將CPU進(jìn)入睡眠狀態(tài).

        Power management options(ACPI,APM)→CPU Frequency scaling(CPU變頻控制)→CPUF requency scaling Power management options=no CPU變頻控制允許在運(yùn)行中改變CPU主頻,達(dá)到省電和降溫的目的,但是這個(gè)驅(qū)動(dòng)不會(huì)自動(dòng)改變CPU的時(shí)鐘速度,選擇no.

        注意主菜單最后有兩項(xiàng):

        Load an Alternate Configuration File

        Save an Alternate Configuration File

        先選第一項(xiàng)的意思是,你也可以使用當(dāng)前系統(tǒng)正在使用的配置文件來(lái)配置將要編譯的內(nèi)核,然后選第二項(xiàng)保存,最后退出配置界面.操作方法如下:

        假如當(dāng)前系統(tǒng)正在使用的內(nèi)核版本號(hào)為L(zhǎng)inux-<current version>,其正在使用中的內(nèi)核配置為/usr/src/linux-h(huán)eaders-<current version>-generic/.config將其拷到/usr/src/linux- <new version>目錄下.

        然后選擇Load An Alternate Configuration File讀取配置文件,然后再此基礎(chǔ)上進(jìn)行修改最后保存退出.

        圖3 生成的鏡像文件和頭文件

        1.3 編譯及安裝內(nèi)核

        當(dāng)編譯結(jié)束后,會(huì)在/usr/src目錄下生成兩個(gè)文件,分別是鏡像文件和頭文件,如下圖-3所示,然后需要安裝這兩個(gè)文件.進(jìn)入目錄,安裝鏡像文件和頭文件

        安裝后將得到了三個(gè)非常重要的文件,分別是System.map,config 和 vmlinuz,這三個(gè)文件應(yīng)該已經(jīng)被拷貝到/boot/路徑下.重啟系統(tǒng),進(jìn)入新配置的內(nèi)核環(huán)境

        root@zj-desktop:/usr/src#reboot

        2 編譯RTAI

        如圖-4編譯RTAI

        圖4 RTAI配置界面

        圖5 RTAI運(yùn)行結(jié)果

        root@zj- desktop:/usr/src/rtai-3.7#make

        安裝RTAI

        root@zj- desktop:/usr/src/rtai-3.7#make install測(cè)試Linux-RTAI

        運(yùn)行結(jié)果如圖5所示

        3 結(jié)論

        (1)RTAI實(shí)現(xiàn)了Adeos內(nèi)的一個(gè)域,這個(gè)域的優(yōu)先級(jí)高于Linux內(nèi)核所在的根域,可以保證所有的RTAI中斷和實(shí)時(shí)任務(wù)都不會(huì)受Linux本身的影響,從而確保快速的中斷響應(yīng)和實(shí)時(shí)任務(wù)的按時(shí)完成.

        (2)一個(gè)基于Linux和RTAI的實(shí)時(shí)操作系統(tǒng).經(jīng)過(guò)理論分析和實(shí)驗(yàn)結(jié)果證明:相關(guān)改進(jìn)是正確、有效的,擴(kuò)展后的RTAI能夠依照所設(shè)定的調(diào)度算法對(duì)實(shí)時(shí)任務(wù)進(jìn)行正確調(diào)度,RTAI的實(shí)時(shí)性能也得到了提升.

        (3)實(shí)踐證明 Ubuntu8.04.4 比較穩(wěn)定,而 9.10版本在reboot之后,會(huì)提示“you need load the kern first”,結(jié)果添加啟動(dòng)項(xiàng)之后仍然不成功,這是因?yàn)楸旧?.10內(nèi)核的Wubi安裝的一個(gè)Bug.

        [1] 阮鴻芳,鐘家騏.Linux與硬實(shí)時(shí)擴(kuò)展系統(tǒng)——RTAI的分析與研究[J].嵌入式操作系統(tǒng)應(yīng)用,2007,23.

        [2] 劉鑫,陸文娟,范海濤.基于RTAI嵌入式Linux硬實(shí)時(shí)性能研究與實(shí)現(xiàn)[J].嵌入式操作系統(tǒng)應(yīng)用,2006.

        [3] 范海濤,王樹(shù)民.基于RTAI的uClinux硬實(shí)時(shí)性能的實(shí)現(xiàn)[J].電力自動(dòng)化設(shè)備,2006,26(3).

        [4] 甘玲,劉柄宏.基于ADEOS的RTAI/Linux的研究及其實(shí)時(shí)性測(cè)試[J].微計(jì)算機(jī)信息,2009,27(2).

        [5] 張巍,李俊,潘金貴.基于RTAI的實(shí)時(shí)Linux系統(tǒng)構(gòu)筑及其嵌入式程序移植[J].計(jì)算機(jī)科學(xué),2007,34(11).

        猜你喜歡
        內(nèi)核中斷選項(xiàng)
        萬(wàn)物皆可IP的時(shí)代,我們當(dāng)夯實(shí)的IP內(nèi)核是什么?
        強(qiáng)化『高新』內(nèi)核 打造農(nóng)業(yè)『硅谷』
        基于嵌入式Linux內(nèi)核的自恢復(fù)設(shè)計(jì)
        Linux內(nèi)核mmap保護(hù)機(jī)制研究
        跟蹤導(dǎo)練(四)
        閱讀理解
        跟蹤導(dǎo)練(二)(5)
        跟蹤導(dǎo)練(5)
        千里移防,衛(wèi)勤保障不中斷
        解放軍健康(2017年5期)2017-08-01 06:27:44
        單項(xiàng)填空精選練習(xí)100道
        久久综合亚洲色一区二区三区 | 国产真实乱对白精彩| 久久亚洲色www成人欧美| 国产极品久久久久极品| 男女一级毛片免费视频看| 欧美内射深喉中文字幕| 国产熟妇高潮呻吟喷水| 精品免费在线| 亚洲欧洲日韩另类自拍| 人妻尤物娇呻雪白丰挺| 在线视频一区二区国产| 久久天天躁狠狠躁夜夜av浪潮 | 夜夜未满十八勿进的爽爽影院| 艳妇乳肉豪妇荡乳av无码福利| 精品少妇爆乳无码aⅴ区| 91精品人妻一区二区三区蜜臀 | 一本一本久久aa综合精品| 亚洲丁香婷婷综合久久小说| 无码吃奶揉捏奶头高潮视频| 日本熟妇裸体视频在线| 国产精品专区第一页天堂2019| 免费欧洲毛片a级视频老妇女| 亚洲精品午睡沙发系列| 中文字幕一区二区三区四区在线 | 国产专区亚洲专区久久| 亚洲人成综合第一网站| 人妻丰满熟妇无码区免费| 亚洲精品无码久久久久av麻豆| 狠狠色狠狠色综合日日92| 人妻av一区二区三区高| 亚洲av调教捆绑一区二区三区| 成人无码av一区二区| 欧美熟妇色ⅹxxx欧美妇| 国产又色又爽又刺激视频 | 天天色天天操天天日天天射| 午夜精品久久久久久久99老熟妇| 日韩激情无码免费毛片| 最近日韩激情中文字幕| 国产高清天干天天视频| 一区二区三区高清视频在线| 国产人妖乱国产精品人妖|