新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > Linux 系統(tǒng)的嵌式應(yīng)用

Linux 系統(tǒng)的嵌式應(yīng)用

作者: 時(shí)間:2012-09-06 來(lái)源:網(wǎng)絡(luò) 收藏

盡管不是為嵌入式設(shè)計(jì)的,特別不是為實(shí)時(shí)設(shè)計(jì)的,但是,由于它的模塊化結(jié)構(gòu)使其具有良好的裁剪性、豐富的資源和源代碼開(kāi)放的特點(diǎn),所以還是有人把它在嵌人式中,并獲得了一定的成功。多年來(lái),人們一直在對(duì)進(jìn)行修改和改造,并且形成了許多可用于嵌入式實(shí)時(shí)系統(tǒng)的版本。本節(jié)重點(diǎn)介紹一些Linux的嵌人式修改版本,以使讀者了解Linux在嵌入式特別是實(shí)時(shí)時(shí)其弱點(diǎn)之所在以及人們的解決方法,從而更深刻地認(rèn)識(shí)和了解嵌入式實(shí)時(shí)操作系統(tǒng)的本質(zhì)及實(shí)現(xiàn)方法。

本文引用地址:http://www.butianyuan.cn/article/148453.htm

1.實(shí)現(xiàn)實(shí)時(shí)Linux的思路

在解決Linux系統(tǒng)實(shí)時(shí)性問(wèn)題的思想方法方面,有如下四個(gè)思路:

●提高時(shí)鐘精度,解決中斷和調(diào)度延時(shí)問(wèn)題;

●解決在Linux內(nèi)核不允許調(diào)度的問(wèn)題;

●提供對(duì)于實(shí)時(shí)多媒體應(yīng)用的支持,包括引入新穎的調(diào)度算法(網(wǎng)絡(luò)包調(diào)度、進(jìn)程調(diào)度和磁盤(pán)調(diào)度);

●引入新穎的調(diào)度框架以及資源管理思想,以更好地支持網(wǎng)絡(luò)系統(tǒng)中的QoS要求。

2. pCLinux

pCLinux是一種由Linux 2.0內(nèi)核發(fā)展而來(lái)的嵌入式Linux版本,是專為沒(méi)有MMU的微處理器(如ARM7TDMI、Coldfire等)設(shè)計(jì)的嵌入式Linux操作系統(tǒng)。

pCLinux與Linux基本相同,不同的只是對(duì)Linux的內(nèi)存管理和進(jìn)程管理部分進(jìn)行了改寫(xiě).以滿足無(wú)MMU處理器的要求,因?yàn)槟壳按蠖鄶?shù)嵌入式系統(tǒng)不需要MMU,或者說(shuō)無(wú)法使用MMU。

盡管大多數(shù)內(nèi)核源代碼都被重寫(xiě),使得pCLinux的內(nèi)核比Linux 2.0的內(nèi)核要小得多,但ptCLinux成功地保留了Linux操作系統(tǒng)良好昀穩(wěn)定性、優(yōu)異的網(wǎng)絡(luò)功能以及優(yōu)秀的文件系統(tǒng)支持等主要優(yōu)點(diǎn)。

ptCLinux系統(tǒng)多采用romfs文件系統(tǒng),它是一種相對(duì)簡(jiǎn)單、占用空間較少的文件系統(tǒng)??臻g的節(jié)約來(lái)自于兩方面:首先內(nèi)核支持romfs文件系統(tǒng)比支持Ext2文件系統(tǒng)需要更少的代 碼;其次romfs文件系統(tǒng)相對(duì)簡(jiǎn)單,在建立文件系統(tǒng)超級(jí)塊(Superblock)時(shí)需要更少的存儲(chǔ)空間。romfs是只讀的文件系統(tǒng),禁止寫(xiě)操作,因此系統(tǒng)同時(shí)需要虛擬盤(pán)(RAMDISK)支持臨時(shí) 文件和數(shù)據(jù)文件的存儲(chǔ)。

隨著技術(shù)的發(fā)展,近年來(lái)日志文件系統(tǒng)在ptCLinux系統(tǒng)上得到了較多的應(yīng)用,其中以支 持NOR FLASH的JFFS、JFFS2文件系統(tǒng)和支持NAND FLASH的YAFFS最為流行。這 些文件系統(tǒng)都支持掉電文件保護(hù),同時(shí)支持標(biāo)準(zhǔn)的MTD驅(qū)動(dòng)。

從目標(biāo)系統(tǒng)開(kāi)發(fā)者的角度來(lái)看,創(chuàng)建子進(jìn)程的函數(shù)vfork()是ptCLinux與標(biāo)準(zhǔn)Linux應(yīng)用程序之間最重要的不同之處,只有對(duì)vfork()與fork()兩個(gè)函數(shù)的差異有了詳細(xì)的了解,才能順利地完成從Linux到ptCLinux的程序移植。

目前,ptCLinux已在嵌入式系統(tǒng)中得到了成功的應(yīng)用,但由于它并不是為了Linux的實(shí)時(shí)性而提出的,因此ptCLinux對(duì)實(shí)時(shí)應(yīng)用的支持方面并不好,從而使得它在嵌人式應(yīng)用領(lǐng)域備受質(zhì)疑。因?yàn)橛行┤藗冋J(rèn)為嵌入式系統(tǒng)必定是實(shí)時(shí)系統(tǒng),既然實(shí)時(shí)性不好,那么,ttCLinux就不能叫做嵌入式操作系統(tǒng)。其實(shí)不然,在實(shí)際應(yīng)用中確實(shí)有些嵌入式系統(tǒng)并不是實(shí)時(shí)系統(tǒng),尤其不是硬實(shí)時(shí)系統(tǒng)。因此,ptCLinux在一些沒(méi)有很強(qiáng)的實(shí)時(shí)要求的嵌入式系統(tǒng)中的應(yīng)用還是很優(yōu)秀的。但這畢竟是pCLinux的一個(gè)弱點(diǎn)和缺憾。也正是為了彌補(bǔ)這個(gè)缺憾,世界上眾多的專家和愛(ài)好者正在努力地工作著。

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


關(guān)鍵詞: 應(yīng)用 系統(tǒng) Linux

評(píng)論


相關(guān)推薦

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

關(guān)閉