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

        ?

        基于μCLinux嵌入式內(nèi)存管理內(nèi)核的分析

        2009-08-19 09:01:44李欣穎曹曉燕
        中國新技術(shù)新產(chǎn)品 2009年15期

        周 巖 李欣穎 曹曉燕

        摘要:隨著數(shù)字信息技術(shù)和網(wǎng)絡(luò)技術(shù)的高速發(fā)展,嵌入式產(chǎn)業(yè)迅速崛起,嵌入式系統(tǒng)蘊含著巨大的市場商機。本文對當前嵌入式uClinux操作系統(tǒng)的內(nèi)存管理進行了分析和研究,為以后改進uClinux的內(nèi)核做了鋪墊,使其能夠在實時領(lǐng)域有較好的應(yīng)用。

        關(guān)鍵詞:Clinux;嵌入式實時操作系統(tǒng):內(nèi)存管理

        1嵌入式操作系統(tǒng)概述

        隨著基于 Intel微處理器芯片的兼容PC機性價比的不斷提高,在實時應(yīng)用領(lǐng)域,實時系統(tǒng)的應(yīng)用需求發(fā)生了很大

        的變化,現(xiàn)代的實時應(yīng)用往往要求大容量的數(shù)據(jù)處理能力、復(fù)雜的圖形用戶接口、網(wǎng)絡(luò)支持等。這就對實時操作系統(tǒng)提出了更高的要求。

        Linux操作系統(tǒng)是基于PC機的免費的類UNIX開放式操作系統(tǒng),并采用了源代碼開放的發(fā)布策略。由于全世界各地的Linux用戶和開發(fā)者的不斷努力,Linux已成長為高穩(wěn)定性的、性能優(yōu)異的操作系統(tǒng),基于Linux開發(fā)一個開放的、標準的、高效廉價的實時操作系統(tǒng)是完全可行的。

        2 uClinux嵌入式實時操作系統(tǒng)概述

        Linux是一種很受歡迎的操作系統(tǒng),它與UNIX系統(tǒng)兼容,開放源代碼。它原本被設(shè)計為桌面系統(tǒng),現(xiàn)在廣泛應(yīng)用于服務(wù)器領(lǐng)域。而更大的影響在于它正逐漸的應(yīng)用于嵌入式設(shè)備。uClinux正是在這種氛圍下產(chǎn)生的。在uClinux這個英文單詞中u表示Micro,小的意思,C表示Control,控制的意思,所以uClinux就是Micro-Control-Linux,字面上的理解就是“針對微控制領(lǐng)域而設(shè)計的Linux系統(tǒng)”。

        嵌入式操作系統(tǒng)是嵌入式系統(tǒng)的靈魂,而且在同一個硬件平臺上可以嵌入不同的嵌入式操作系統(tǒng),嵌入式uClinux操作系統(tǒng)主要由三個基本部分組成:引導(dǎo)程序、uClinux內(nèi)核(由內(nèi)存管理、進程管理和中斷處理等構(gòu)成)和文件系統(tǒng)。uClinux可以通過定制使內(nèi)核小型化,還可以加上GUI(圖形用戶界面)和定制應(yīng)用程序,并將其放在ROM、 RAM、 FLASH或Disk On Chip中啟動。由于嵌入式uClinux操作系統(tǒng)的內(nèi)核定制高度靈活性,開發(fā)者可以按需進行配置,來滿足實際應(yīng)用要求,又由于uClinux是源代碼公開,因此開發(fā)人員完全可以了解內(nèi)核原理,并自己開發(fā)部分應(yīng)用軟件。只有很好地掌握uClinux的原理,才能更好地、更合理地完成移植工作。

        uClinux是專為沒有MMU的微處理器設(shè)計的嵌入式Linux操作系統(tǒng),它的內(nèi)核功能結(jié)構(gòu)與Linux基本相同,不同的主要是對內(nèi)存管理和進程管理進行了改寫,以滿足無MMU處理器的要求。另外,由于大多數(shù)內(nèi)核源代碼都被重寫,uClinux的內(nèi)核要比原Linux 2.0內(nèi)核小的多,但保留了Linux操作系統(tǒng)的主要優(yōu)點:穩(wěn)定性、優(yōu)異的網(wǎng)絡(luò)能力以及優(yōu)秀的文件系統(tǒng)支持。

        3 uClinux內(nèi)存管理所采用的技術(shù)

        對于uClinux來說,其設(shè)計針對沒有MMU的處理器,即uClinux不能使用處理器的虛擬內(nèi)存管理技術(shù)。但是為了便于管理,uClinux仍然采用存儲器的分頁管理,系統(tǒng)在啟動時對實際存儲器進行分頁,在加載應(yīng)用程序時分頁加載。但是由于沒有MMU管理,所以實際上uClinux采用實存儲器管理策略。

        uClinux將整個物理內(nèi)存劃分成大小4KB的頁面,由數(shù)據(jù)結(jié)構(gòu)page管理,每個頁面有一個page結(jié)構(gòu),所有page結(jié)構(gòu)組成一個數(shù)組mem_map[]。這些物理頁面可以為代碼、數(shù)據(jù)、堆棧、文件等提供空間,也可以當作緩沖區(qū)。

        uClinux仍然使用標準Linux內(nèi)核中的變形Buddy機制來管理空閑的物理頁面,bitmap表、free_area數(shù)組及其相關(guān)的函數(shù)或宏_get free_pages(),free_pages()也還在被使用。但由于沒有虛擬內(nèi)存管理,虛擬內(nèi)存段結(jié)構(gòu)vm_area_struct以及由它構(gòu)成的鏈表和AVL樹都不再使用,將頁面換出到外存中的機制因而也不能使用,所以標準Linux中的kswapd頁面換出守護進程和交換空間的頁面管理數(shù)據(jù)結(jié)構(gòu)在uClinux中都被刪除。

        uClinux中的內(nèi)存分配,還是通過傳統(tǒng)的函數(shù)kmallocQ和kfreeQ實現(xiàn)的。這些內(nèi)存塊來自于free_ area數(shù)組,由blocksize表、size表、pagewe descriptor結(jié)構(gòu)和block header結(jié)構(gòu)共同管理。而標準Linux中的vmalloc( )和vfree( ),由于是從虛擬空間3GB以上的虛擬空間分配內(nèi)存,所以在uClinux下對它們的實現(xiàn)只是簡單地調(diào)用kmalloc()和kfree(),實際上分配的也是從空閑物理頁面鏈表中獲得的頁面。

        4 uClinux內(nèi)存管理的局限性

        由于缺少了MMU的硬件支持,uClinux運行真正的多任務(wù)系統(tǒng)時,任務(wù)之間沒有內(nèi)存保護機制,一些有關(guān)進程派生的系統(tǒng)調(diào)用就無法實現(xiàn)。正是因為沒有內(nèi)存保護機制(或者說,沒有任何安全性可言),它們不適用于多用戶系統(tǒng),uClinux的多任務(wù)管理功能受到一定限制:

        uClinux中無法實現(xiàn)fork(),而只能使用vfork()。但這并不意味著uClinux不具有多任務(wù)功能,只是父進程在調(diào)用vfork()之后必須在子進程調(diào)用exec()或者exit()之前阻塞。

        標準Linux中內(nèi)存分段為應(yīng)用程序提供了接近無限的堆空間和??臻g,而uClinux為可執(zhí)行程序在緊隨它的數(shù)據(jù)段結(jié)束處分配堆棧空間,這樣如果堆棧增長太大,它將可能覆蓋其它的程序或數(shù)據(jù)。

        uClinux中沒有自動擴展的棧,也沒有brk()調(diào)用,用戶必須通過使用mmap()來分配內(nèi)存空間,可以在程序的編譯過程中指定它所使用的棧的大小。不具有內(nèi)存保護,任何程序都有可能導(dǎo)致內(nèi)核崩潰。

        參考文獻

        [1] Free Software Foundation,Inc.1999. GM! Lesser General Public License.http://www. gnu. org/copyleft/lesser. html.2002. 9.

        [2] Gcc-2. 95. 3 arm-elf for uClinux.gcc-2. 95. 3. pdf. 2002. 11.

        [3] 李善平,劉文峰,李程遠,等.Linux 內(nèi)核2. 4 版源代碼分析大全[M].北京:機械工業(yè)出版社,2002.

        [4] 趙炯.Linux內(nèi)核完全注釋.機械工業(yè)出版社,2005.

        [5] 吳一民.RT-Linux的實時機制分析.計算機應(yīng)用,2002, 22 (12):110-112.

        [6] 魏忠,蔡勇.嵌入式開發(fā)詳解.北京:電子工業(yè)出版社,2003.

        作者簡介:周巖(1982-),碩士研究生,助教,工作單位:長春工業(yè)大學軟件職業(yè)技術(shù)學院,主要研究方向:軟件工程、嵌入式系統(tǒng)開發(fā)。

        李欣穎(1981-),碩士研究生,助教,工作單位:長春工業(yè)大學軟件職業(yè)技術(shù)學院,主要研究方向:軟件工程、網(wǎng)絡(luò)編程.

        曹曉燕(1977-),碩士研究生,助教,工作單位:長春工業(yè)大學軟件職業(yè)技術(shù)學院,主要研究方向:數(shù)據(jù)庫.

        伊人婷婷在线| 人妻丰满熟av无码区hd| 国产免费av片无码永久免费| 五十路熟妇亲子交尾| 亚洲国产成人久久综合三区| 国产精品一区二区韩国av| 久久久久亚洲av无码专区喷水| 男人的天堂一区二av| 一本久久伊人热热精品中文字幕| 亚洲成a人片在线| 亚洲精品熟女乱色一区| 日本av亚洲中文字幕| 免费毛片a线观看| 亚洲国产精品国自产电影| 国产精品三级国产精品高| 嗯啊好爽高潮了在线观看| 94久久国产乱子伦精品免费| 久久综合亚洲色社区| 日本一区二三区在线中文| 免费观看全黄做爰大片| 亚洲av中文无码乱人伦在线r▽| 岛国熟女一区二区三区| 一本色道88久久加勒比精品| 久久亚洲精品成人av无码网站| 中国亚洲女人69内射少妇| 日韩女优一区二区视频| 青青草免费在线爽视频| 真多人做人爱视频高清免费| 日韩中文在线视频| 日本久久视频在线观看| 国产综合色在线视频区| 精品人妻伦九区久久AAA片69| 亚洲看片lutube在线观看| 色综合久久综合欧美综合图片| 亚洲一区精品中文字幕| 久久精品熟女亚洲av麻豆永永| 成 人 免费 在线电影| 欧美日韩精品乱国产| av有码在线一区二区三区| 久久精品国产99国产精品亚洲| 五月天精品视频在线观看|