嵌入式系統(tǒng)和Linux的有機(jī)結(jié)合,成為后PC時代計算機(jī)最普遍的應(yīng)用形式。本文介紹了嵌入式Linux技術(shù)的版本與特點,結(jié)合開發(fā)路由器的實例分析了嵌入式Linux的優(yōu)勢和發(fā)展動向,并給出與嵌入式Linux研究有關(guān)的網(wǎng)絡(luò)資源。
家電嵌入式Linux路由器開發(fā)
1引言
863智能計算機(jī)專家高文教授說:所謂后PC時代,是英文pervasivecomputing的中文意譯,pervasive的原意是普遍的、蔓延的、滲透的,所以pervasivecomputing這個詞組直接的翻譯應(yīng)該是滲透到各個方面的計算。因而我們可以認(rèn)為,所謂后PC時代是指:計算機(jī)無所不在,它滲透到我們工作和生活的方方面面。當(dāng)然,這樣的無所不在的計算機(jī)也絕不都是象的PC一樣擺在桌子上或放在書包里,后PC時代的絕大多數(shù)計算機(jī)是以非計算機(jī)的形式出現(xiàn)的,例如作為隨身物品出現(xiàn)的電話、遙控開關(guān)、電子戒指、電子手杖等,再例如作為家庭網(wǎng)絡(luò)組成部分的電視機(jī)、電冰箱、空調(diào)等等。這些設(shè)備的核心部分都有計算機(jī),但大多是以嵌入式系統(tǒng)的形式存在,而不是以整機(jī)的形象出現(xiàn)。所以,我們也可以說后PC時代的特點是計算機(jī)無處不在、很少可見。
在IT業(yè),如果要問當(dāng)今最熱門的話題是什么,從事硬件開發(fā)的人會毫不猶豫地回答:家電;從事軟件開發(fā)的人同樣也會毫不猶豫地回答:Linux。事實上,當(dāng)人們在談?wù)揚DA、手持電腦、機(jī)頂盒時,后PC時代就到來了,或者說家電時代到來了。家電之所以直到現(xiàn)在才變得火爆,一個很重要的原因就是Linux的加入。廉價的Linux資源與家電結(jié)合,真正宣告了家電時代的到來,嵌入于家電中的Linux棗嵌入式Linux,是國際軟件界的一個新寵。Linux是個天生的網(wǎng)絡(luò)操作系統(tǒng),成熟而且穩(wěn)定。Linux是開放源代碼的,任何人都可以修改它,或者用它開發(fā)自己的產(chǎn)品。Linux系統(tǒng)是可以定制的,系統(tǒng)內(nèi)核最小時目前只有134kB。一個帶有中文系統(tǒng)以及圖形化界面的核心程序也可以做到不足1MB,而且同樣穩(wěn)定。因此,Linux作為嵌入式系統(tǒng)新的選擇,是非常有潛力的。
國際上有數(shù)以百計的嵌入式Linux開發(fā)計劃,在國內(nèi),這方面的發(fā)展也有了較大進(jìn)展。博利思軟件公司在這方面做了一些有益的嘗試,并于最近推出了一個嵌入式Linux操作系統(tǒng)棗PocketIX預(yù)覽版。PocketIX是一個內(nèi)核基于標(biāo)準(zhǔn)Linux的嵌入式操作系統(tǒng),由一個體積很小的內(nèi)核及一些可以根據(jù)需要進(jìn)行定制的系統(tǒng)模塊組成。其系統(tǒng)占用空間小、啟動速度快、穩(wěn)定性好,并具有多任務(wù)、多線程的特征。與傳統(tǒng)的嵌入式系統(tǒng)相比,PocketIX采用標(biāo)準(zhǔn)的Linux結(jié)構(gòu),所有運行在標(biāo)準(zhǔn)Linux下的應(yīng)用軟件都可平滑移植到該系統(tǒng)上。
在傳統(tǒng)家電向家電過渡時,操作系統(tǒng)小型化、產(chǎn)品穩(wěn)定性及是否易于開發(fā)等成了至關(guān)重要的問題。嵌入式Linux雖然只是剛剛興起的熱門技術(shù),但它卻能很好解決上述問題。作為嵌入式Linux產(chǎn)品的研發(fā),涉及到嵌入式微處理器技術(shù)、Linux技術(shù)、網(wǎng)絡(luò)通技術(shù)、通產(chǎn)品設(shè)計師的行業(yè)經(jīng)驗,華恒網(wǎng)絡(luò)技術(shù)公司正是基于在以上經(jīng)驗的優(yōu)勢,成功推出國內(nèi)首款基于嵌入式Linux超小型應(yīng)用產(chǎn)品――網(wǎng)絡(luò)管理卡,該產(chǎn)品已經(jīng)批量生產(chǎn)、投放市場。有關(guān)詳情可訪問該公司。
2嵌入式Linux開發(fā)的優(yōu)點及版本
嵌入式Linux由于代碼開放性以及強大的網(wǎng)絡(luò)功能,在中低端的嵌入式網(wǎng)絡(luò)設(shè)備中應(yīng)用起來,比起pSOS+,VxWorks等專用系統(tǒng)有許多優(yōu)勢,Linux甚至支持藍(lán)牙技術(shù),VxWorks對于新技術(shù)的支持遠(yuǎn)沒有Linux那么迅速;從我們開發(fā)路由器卡可知:從產(chǎn)品上市時間到產(chǎn)品的功能不斷擴(kuò)充、開發(fā)人力的投入都驗證了使用嵌入式Linux作為操作系統(tǒng)平臺的優(yōu)勢。如果是用VxWorks作為平臺來做就相當(dāng)困難,一系列的防火墻協(xié)議以及WebServer協(xié)議、TCP/IP整個體系結(jié)構(gòu)、撥號協(xié)議等等,不是自己開發(fā)就是要買VxWorks的編譯好的庫,價格也比較昂貴。表1將專用嵌入式實用操作系統(tǒng)與嵌入式Linux作了詳細(xì)的分析和比較。http://www.Examw.com
每生產(chǎn)一件產(chǎn)品需交納一份版權(quán)費
免費
人民幣數(shù)十萬元
免費
由開發(fā)商獨家提供有限的技術(shù)支持
全世界的自由軟件開發(fā)者提供支持
另加人民幣數(shù)十萬購買
免費而且性能優(yōu)異
難,因為是封閉系統(tǒng)
易,代碼開放,有許多應(yīng)用軟件支持
長,因為可參考的代碼有限
短,新產(chǎn)品上市迅速,因為有許多公
開的代碼可以參考和移植
好
需改進(jìn),可用RT_Linux等模塊彌補
好
較好,在高性能系統(tǒng)中仍需改進(jìn)
Linux是自由的多任務(wù)操作系統(tǒng),用戶可以獲得多種配置及體系不同的Linux版本。因此,如何選擇Linux的發(fā)行版本,也是我們要解決的一個重要問題。
Linux的版本主要有3大類:
標(biāo)準(zhǔn)的Linux版本。
小型化的嵌入式版本。
具有實時擴(kuò)展功能的Linux版本。
這3大類Linux版本的各自用戶所占的百分?jǐn)?shù)統(tǒng)計餅圖如圖1所示。
另外,Linux還有一些特殊應(yīng)用、把Linux移植到非X86體系的CPU上的版本。例如有許多針對不同的如“瘦服務(wù)器”或“防火墻”應(yīng)用的小型化、實時特性增強的特殊版本。
我們要認(rèn)識到,所有的Linux發(fā)行版本都是在同一個框架結(jié)構(gòu)類型下發(fā)展演變的,它們使用的基本模塊都相同,其中包括Linux內(nèi)核、Shell命令以及許多的通用工具。不同的是,數(shù)以百計的Linux應(yīng)用程序,被包含在不同的發(fā)行版本當(dāng)中,安裝的進(jìn)程處理程序也不同。
3嵌入式Linux的一個開發(fā)實例分析
傳統(tǒng)的路由器都是使用專用的RTOS開發(fā)的,在開發(fā)TCP/IP、防火墻協(xié)議以及WebServer協(xié)議時都只能自己去實現(xiàn),產(chǎn)品上市的周期非常長,對新協(xié)議、新接口的支持以及設(shè)備升級的周期也很長,因為專用的RTOS有關(guān)內(nèi)容都要自己開發(fā);而對于Linux來說,這些都可以直接從網(wǎng)上獲得代碼,針對應(yīng)用系統(tǒng)的要求作必要的改動即可,對新協(xié)議、新接口的支持也是如此,無需要自己從頭去開發(fā)。
在表2中,我們將分別利用VxWorks專用操作系統(tǒng)和嵌入式Linux操作系統(tǒng)來開發(fā)路由器作了詳細(xì)地比較和分析。
使用VxWorks專用操作系統(tǒng)
使用嵌入式Linux操作系統(tǒng)
產(chǎn)品上市時間
長達(dá)9個月
僅需3個月
投入開發(fā)的人力
多達(dá)6人以上
只需3人
產(chǎn)品的附加成本
每臺路由器需要交一份版權(quán)費,成本大大提高
沒有任何附加費
產(chǎn)品功能的豐富性
一般,增加功能要象廠家購買模塊
豐富,可利用自由軟件的大量公開代碼移植
網(wǎng)絡(luò)特性
另外購買網(wǎng)絡(luò)模塊,如OSPF動態(tài)路由協(xié)議庫,很昂貴;若自行開發(fā)則穩(wěn)定性較差且開發(fā)時間長
免費獲得自由軟件代碼,只需移植,由于來
自桌面Linux平臺,繼承性好、穩(wěn)定性好、
開發(fā)時間短
產(chǎn)品升級以及對
新網(wǎng)絡(luò)協(xié)議的支持
廠家反映慢,支持慢,不一定能支持新特性
利用全世界Linux自由軟件開發(fā)團(tuán)體的力量
,支持迅速
4嵌入式Linux的網(wǎng)上資源
編輯推薦:
2016年職稱計算機(jī)考試網(wǎng)絡(luò)課程輔導(dǎo)
(責(zé)任編輯:xy)