在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > uClinux操作系統(tǒng)的實(shí)時(shí)化分析與研究

            uClinux操作系統(tǒng)的實(shí)時(shí)化分析與研究

            作者: 時(shí)間:2012-05-21 來源:網(wǎng)絡(luò) 收藏

            1.引言

            嵌入式Linux作為一個(gè)開放源代碼的操作系統(tǒng),以價(jià)格低廉、功能強(qiáng)大又易于移植的特性正在被廣泛應(yīng)用,是專門針對沒有 MMU(Memory Manage Unit)的處理器而設(shè)計(jì)的嵌入式Linux,非常適合中低端嵌入式系統(tǒng)的需求。雖然符合POSIX1003.1B關(guān)于實(shí)時(shí)擴(kuò)展部分的標(biāo)準(zhǔn),但其最初的設(shè)計(jì)目標(biāo)為通用分時(shí)操作系統(tǒng),如果把用在工業(yè)控制、進(jìn)程控制等微控制領(lǐng)域內(nèi),必須要增強(qiáng)μClinux的能。

            目前,對嵌入式Linux的實(shí)時(shí)化改造方案主要有3種:一種是直接修改內(nèi)核插入搶占點(diǎn)[3],另外一種是資源內(nèi)核方法[4],最后一種是雙內(nèi)核架構(gòu)的解決方案。但3種方法中前兩種都只能用于軟實(shí)時(shí)應(yīng)用,只有雙內(nèi)核[2]架構(gòu)的方案可以保障硬實(shí)時(shí)應(yīng)用需求。目前,Linux平臺(tái)下開發(fā)的具有硬實(shí)時(shí)功能的系統(tǒng)主要有:RTLinux和[1](Real Time Application Interface)?;?a class="contentlabel" href="http://www.biyoush.com/news/listbylabel/label/RTAI">RTAI增強(qiáng)Linux的方面研究得比較多,但是,基于增強(qiáng)μClinux方面還未見到成型的產(chǎn)品。因此,本文借鑒RTAI對Linux的實(shí)時(shí)改進(jìn)機(jī)理,對μClinux的實(shí)時(shí)性改造進(jìn)行了分析與研究。

            2. μClinux的內(nèi)存管理

            標(biāo)準(zhǔn)Linux使用虛擬存儲(chǔ)器技術(shù),應(yīng)用在帶有MMU的處理器上,虛擬地址被送到MMU,把虛擬地址映射為物理地址。而μClinux同標(biāo)準(zhǔn)Linux的最大區(qū)別就在于內(nèi)存管理,只有了解它們內(nèi)存管理的差異后,才能更好地利用RTAI對μClinux進(jìn)行實(shí)時(shí)化改造。

            μClinux雖然為嵌入式系統(tǒng)做了許多小型化的工作[5],但μClinux與標(biāo)準(zhǔn)Linux的架構(gòu)完全一致。μClinux雖然無法使用處理器的虛擬內(nèi)存管理技術(shù),但μClinux仍然采用存儲(chǔ)器的分頁管理,系統(tǒng)在啟動(dòng)時(shí)把實(shí)際存儲(chǔ)器進(jìn)行分頁,在加載應(yīng)用程序時(shí)分頁加載。一個(gè)進(jìn)程在執(zhí)行前,系統(tǒng)必須為進(jìn)程分配足夠的連續(xù)地址空間,然后全部載入主存儲(chǔ)器的連續(xù)空間中。μClinux采用實(shí)存儲(chǔ)器管理策略,通過地址總線對物理內(nèi)存進(jìn)行直接訪問。所有程序中訪問的地址都是實(shí)際的物理地址,操作系統(tǒng)對內(nèi)存空間沒有保護(hù),所有的進(jìn)程都在一個(gè)運(yùn)行空間中運(yùn)行(包括內(nèi)核進(jìn)程)。

            在μClinux系統(tǒng)中,缺少了MMU的內(nèi)存映射,μClinux必須在可執(zhí)行文件加載階段對可執(zhí)行文件reloc處理,使得程序執(zhí)行時(shí)能夠直接使用物理內(nèi)存;其次,μClinux沒有自動(dòng)生長的堆棧,也沒有brk()函數(shù),用戶空間的程序必須使用mmap()命令來分配內(nèi)存;同時(shí),在實(shí)現(xiàn)多個(gè)進(jìn)程時(shí)需要實(shí)現(xiàn)數(shù)據(jù)保護(hù),μClinux雖然支持fork()函數(shù),但實(shí)質(zhì)是所有的多進(jìn)程管理都通過vfork()函數(shù)來實(shí)現(xiàn)。vfork() 是μClinux與標(biāo)準(zhǔn)Linux應(yīng)用程序的開發(fā)中最重要的不同之處,只有對vfork()與fork()兩個(gè)函數(shù)的差異和程序處理機(jī)制有詳細(xì)的了解后,才能順利地完成從Linux到μClinux的程序移植。

            3. 基于RTAI的Linux硬實(shí)時(shí)支持方案

            3.1 RTAI簡介

            RTAI for Linux[6]是雙內(nèi)核架構(gòu)的Linux實(shí)時(shí)化方案的典型代表,它由意大利的Milan大學(xué)主持,是近年來非?;钴S的開源項(xiàng)目。系統(tǒng)的實(shí)現(xiàn)基礎(chǔ)是在Linux上定義了一組實(shí)時(shí)硬件抽象層RTHAL(Real Time Hardware Abstraction Layer),通過RTHAL進(jìn)行硬件管理,把基本內(nèi)核和結(jié)合在一起,其中一個(gè)內(nèi)核的改變,不會(huì)影響另一個(gè)內(nèi)核的執(zhí)行,RTHAL將RTAI需要在Linux中修改的部分定義成一組程序界面,RTAI只使用這組界面和Linux溝通,其系統(tǒng)結(jié)構(gòu)如圖1所示。

            3.2 RTAI的RTHAL

            RTAI從內(nèi)核中提取一個(gè)RTHAL,RTAI首先是一個(gè)中斷分發(fā)器,當(dāng)RTAI模塊被加載后,CPU中斷仍由Linux管理,RTAI只接管外部設(shè)備的中斷并分發(fā)(有可能仍分發(fā)給Linux)。這種接管是通過RTHAL來實(shí)現(xiàn)的,RTHAL包含一些重要的函數(shù)和數(shù)據(jù)結(jié)構(gòu),RTAI模塊可能修改的內(nèi)容都收集在此結(jié)構(gòu)體中。

            圖1雙內(nèi)核實(shí)時(shí)μClinux架構(gòu)

            當(dāng)RTAI裝載時(shí),只需要重新設(shè)置RTHAL中的各項(xiàng)內(nèi)容。內(nèi)核需要修改執(zhí)行RTHAL以代替原來的內(nèi)容,如

            do_IRQ(irq,dummy);

            被修改為:

            rthal.c_do_IRQ(irq,dummy);

            Linux初始化RTHAL為指向原始的函數(shù)和數(shù)據(jù)結(jié)構(gòu),RTHAL僅僅進(jìn)行重定向。當(dāng)RTAI被激活,RTHAL保存并且改變這些函數(shù)的值為 RTAI自己的內(nèi)容。以上段代碼為例,當(dāng)RTAI還沒有加載時(shí),rthal.c_do_IRQ的值就是Linux的do_IRQ,當(dāng)RTAI被加載時(shí),RTAI執(zhí)行以下代碼,將rthal.c_do_IRQ替換成RTAI自己的分發(fā)器:

            rthal.c_do_IRQ=dispatch_irq;


            上一頁 1 2 3 下一頁

            評論


            相關(guān)推薦

            技術(shù)專區(qū)

            關(guān)閉