作者︰北京麥克泰軟體技術有限公司董事長 何小慶
閱讀︰

時間︰2007-05-07來源︰電子產品世界發表評論




埻恅弇离

摘要︰ 本文介紹了Montavista Linux的發展及其最新版本的特點,同時介紹了嵌入式Linux的發展趨勢。埻恅弇离
埻恅弇离
關鍵詞︰ 嵌入式Linux;Montavista;實時性;Eclipse


埻恅弇离

引言埻恅弇离
埻恅弇离
Linux 作為開源的作業系統正在IT 產業的方方面面發揮著作用,Linux是伺服器的重要的作業系統。Linux 是嵌入式系統關鍵部件,它已經嵌入在電信交換設備,路由器,接入設備,網路存儲設備和移動終端裡,涵蓋通信網路的各個層面。IT業可能非常熟悉的是SUSE,RedHat,紅旗Linux 作業系統以及在在桌面系統免費使用的Fedora,Debian,而不太了解嵌入式Linux,這是因為嵌入式設備是以一個整體的形態展現下使用者面前,所以作業系統雖然是非常重要的部件,但是不容易讓大眾所認識,比如我們日常看到的MP4GPS手機等電子消費產品,其實它們裡面都是有一個作業系統營運在裡面的,行業內稱為RTOS(實時多任務作業系統)或者EOS(嵌入式作業系統)。正如伺服器和桌面系統一樣,嵌入式系統設計者可以選擇商業嵌入式Linux軟體或者是使用開源的Linux 軟體自己開發,也可以委托第三方開發。商業的Linux軟體的中和RedHat齊名的是Montavista軟體公司。Montavista Linux已經擁有超過兩千多用戶和數以千萬計的產品在市場上銷售,它們覆蓋從智能手機,高清電視,機器人無線網路設備到3G電信伺服器等各種嵌入式應用。Motorola 使用了Montavista Linux的智能手機‘明’在中國的巨大成功使得Montavista 和它的Linux 產品蜚聲國內。


埻恅弇离

Montavista Linux 發展歷史埻恅弇离
埻恅弇离
1999年在美國矽谷-Sunnyvale小城 一個普通的辦公室裡面又多了一群不太年輕的創業者,這就是Montavista創始人-Jim Ready和他的創業團隊。大約15年前Jim也就是在同樣的地方開始他第一家嵌入式作業系統公司的創業生涯。Jim 創辦的Ready system公司的VRTX是世界第一個商業的RTOS,廣泛的應用在通訊,控制和航空太空飛行系統中,是嵌入式作業系統的標誌和創造性產品,VRTX的思想為行業的后來者所追隨和發展。經過數年觀察和思考,Jim認識到Linux可以支持更廣泛和更新的硬體,更多的I/O設備,更多和更加標準的應用,它可能是未來嵌入式作業系統的最適合的選擇之后,決定創辦一家專業的嵌入式Linux 公司,公司的定位是一個100%的Linux公司,它的嵌入式Linux產品可以替代道統的RTOS。埻恅弇离
埻恅弇离
圖1很清楚的表現出了Montavista Linux產品發展的歷程,這裡需要闡述的有這樣幾個方面。


埻恅弇离


埻恅弇离

圖1  Montavista的發展歷程


埻恅弇离

HardHat Linux埻恅弇离
埻恅弇离
2002年以前,Montavista 的Linux 產品名稱叫HardHat Linux(這個名字也最早在開源社區和大學裡面流傳), HardHat名字的由來也許是需要區別于市場的名氣已經非常大的redhat, 表示Montavista的Linux 是一個實時和嵌入式的Linux的原因吧。因為創建初期正值網路經濟的熱潮,Montavista最初的商業模式和其他的開源軟體一樣,是一個免費的軟體,但服務和升級需要收費。 2002年以後從Montavista Linux 2.0開始就改為Linux行業裡面廣泛採用的訂閱模式,即付費獲得產品,在訂閱期內得到支持,升級和補丁。


埻恅弇离

Montavista Linux 的三個版本埻恅弇离
埻恅弇离
Montavista Linux 目前有三個版本, professional edition -稱為專業版本(簡稱pro),主要是針對各種通用的嵌入式應用,它也是Montavista Linux的核心產品, 其他的版本也是由這個版本發展出來的, carried grade edition(簡稱CGE), 也稱為電信Linux版本,此版本是在專業版本的基礎上增加了加固內核,事故處理,動態加載等高可能性的特點,符合OSDL電信Linux規範(也稱為CGL規範,來自www.osdl.org-這個機構最近和Linux基金會合併),CGE支持先進的ATCA計算平台等先進的硬體技術。Mobilinux是Montavista 重要的旗艦成品之一,2003年Montavista在專業版本上開發了一個稱為消費電子(consumer electronic edition-簡稱CEE) 的版本,CEE由於Motorola基于Linux作業系統的智能手機而聞名海外,2005年底CEE再作重新開發並變名為Mobilinux專門針對手機市場,比較起以前的版本,Moblinux 增加了可以大大降低手持設備能源消耗的動態電源管理Linux系統快速啟動,尺寸優化技術和各種測量和分析工具。埻恅弇离
埻恅弇离
在過去的6年裡面Montavista Linux 有兩個重要的發展階段,第一,內核的進化,4.0 版本以前Montavista Linux 一直是使用2.4版本的開源內核,如3.1版本是使用的2.4.20, 4.0版本之后,Montavista Linux 使用了目前流行的2.6版本的內核技術。第二,工具的進化,Hard Hat Linux的工具時道統Linux命令行,3.0版本以後Montavista Linux增加了集成的開發環境(IDE),使用的時KDE,3.1版本之后升級成Eclipse,這是一個目前功能最完善的集成開發環境。


埻恅弇离

Montavista Linux實時性埻恅弇离
埻恅弇离
Montavista 一直堅持在開放和兼容社區內核發展的前提下,發展和開發Linux的實時性技術,並把它應用在Montavista Linux產品裡面, 比如Montavista Linux 2.1版本已經實現了Preemptible kernel 和Realtime scheduler, 從而根本改變了道統Linux無論有那個進程和線程佔有多少時間不能搶占和按照優先級調度的歷史,3.1版本的時候,Montavista把當時還正在開發中的2.6內核當中的0(1)調度器和高分辨率定時器移植(backpor)到2.4內核的Montavista Linux 3.1三個版本中,讓使用Linux進行嵌入式軟體開發的用戶最早的使用到最先進的Linux實時性技術, 同時為今后升級到2.6內核作好了完全兼容的準備,2005年Montavista在開發2.6內核的4.0版本的初期,在開源社區創建了一個實時Linux項目,透過和社區協作開發Montavista 在4.0 產品裡實現了Linux 2.6內核的RT-Path技術。Montavista的技術專家是來自道統的嵌入式領域,對實時技術和要求非常了解,Montavista堅信基于開源Linux的實時性是可以滿足嵌入式系統的實時性需求,過去的實踐也不斷的證明了這一點。


埻恅弇离

Montavista Linux professional 5.0埻恅弇离
埻恅弇离
Montavista Linux professional 5.0(簡稱pro 5.0)是5.0家族的第一個產品,2007年2月開始由Beta版本,4月陸續發布一部分嵌入式處理器參考平台的支持版本,pro 5.0的發表標誌著包含最新的Linux技術的新一代嵌入式軟體平台的到來,pro 5.0是在目前4.0的基礎上融合了先進Linux內核,應用和工具技術開發而成的。下面從四個方面分析一下;


埻恅弇离

DevRocket 5埻恅弇离
埻恅弇离
DevRocet 5是基于Eclipse的一個完整的嵌入式集成開發環境, 它使用了最新的CDT擴展和管理技術,並有更加便捷的編輯-編譯-遠程調試的過程,更多的可插入的工具鏈, DevRocket 5還可以支持在沒有目標硬體的情況下的虛擬開發環境。簡單來講你可以把DevRocket理解為是一個Eclipe框架下和一系列插件組成的軟體工具, 這個工具包括C/C++開發和遠程調試(內核和用戶態),應用和系統的跟蹤,系統性能的分析,遠程系統的管理,系統平台映像的管理,基于CVS的軟體版本管理,區別于前面的版本,DevRocket 5以插件的形式增加了4個工具︰(1)檢測內存洩漏工具; (2)性能統計和分析工具;(3)可以觀測到整個系統內核和應用的存儲器使用的工具,如圖2; (4)可視化的內核和用戶態應用的跟蹤工具。即透過Eclipe讀取LLTng的trace文件圖形化顯示,區別于過去的DevRocket。新的版本可以讓用戶使用其他公司或者開源的Eclipe框架,把Montavista的工具以插件形式安裝上去,使用戶可以體會到使用最新技術的快樂。原理上講,在獲得有效的授權之后DevRocket 5 可以支持以前的4.0甚至3.1版本的Montavista Linux的各個版本的產品。


埻恅弇离


埻恅弇离

圖2  DevRocket5中新增加的工具可觀測整個系統內核和應用的存儲器使用狀況


埻恅弇离

全新的內核和應用埻恅弇离
埻恅弇离
Pro 5.0使用穩定和全新的2.6.18內核, LSB3.0 兼容,安全特性,IPV6認証,內核和用戶態的實時技術,包括支持Priority Queuing ,Priority Inheritance,Robust Mutexs和新的HR Ktimers,I/O和網路方面支持更多設備驅動, 如,SDIO,USB OTG,Bluetooth(計畫在mobilinux 5.0裡面),802.11g WiFi,支持ARM Jazelle(ARM發布的java硬體加速虛擬機優化技術,目的是為了提升java應用的啟動營運及回應速度)。pro 5.0還包含了Montavista以前在CEE3.1和Mobilinux 4裡面使用的XIP技術,這是一個可以提升Linux系統引導速度的技術,也就是說pro 5.0將可以適合除手機外的消費電子的應用。


埻恅弇离

減少尺寸的技術埻恅弇离
埻恅弇离
在5.0版本裡,Montavista大大改進了尺寸優化技術,使用了先進的Linux Tiny 和可以支持NPTL,ARM EABI 的uClibc,配合ARM Thumb mode 使用uClibC后的應用尺寸可以減少近50%,這還只是應用部分,如果考慮到文件系統的優化,那就有可能到70-80%,簡單來講,一個標準的Linux 有大約14M,經過5.0版本(或者使用Mobilinux 4.1-它已經包含uClibc)完全優化后可以到3M 左右。


埻恅弇离

完善的質量保證體系埻恅弇离
埻恅弇离
目前Pro 5.0內核是在2.6.18 baseline上加了有大約1500個patch(這個數量還在因為新的硬體的支持而不斷的增加),這其中的近30-40%的patch,它們是有連帶關係,既如果你修改了一個可能其他也要修改。再細化一下,整個Pro 5.0的代碼是由2.6.18內核代碼,非主流內核代碼,如ARMMIPS分支代碼,RT patches,2.6.19對2.6.18 的bug修正后backport,Montavista內部自身開發和修正的軟體模塊(一般每次發行要修改超過1000個bug)五個部分組成,然後每個build都要經過35000個自動測試,這樣一個巨大的軟體工程是很難想像僅靠幾個Linux工程師自己完成的,Pro 5.0這樣的工程也是在完善的質量保證體系下和過去兩年開發2.6內核和5年以上2.4內核的經驗的結晶, 更重要的是經千萬計的基于Montavista Linux產品的驗証給予Pro5.0產品一個好的質量基礎。


埻恅弇离

嵌入式Linux技術的發展趨勢埻恅弇离
埻恅弇离
回顧了Montavista Linux發展歷程和分析了pro 5.0的一些技術特點后,再綜觀目前市場上商業和開源的嵌入式Linux的現狀,我們不難看出未來嵌入式Linux技術走向的軌跡︰


埻恅弇离

Linux 工具將大行其道埻恅弇离
埻恅弇离
開源的Eclipes 框架已經成為事實上的企業軟體和嵌入式軟體開發標準,不僅得到了軟體和系統廠商的推崇,而且得到了設備廠商的支持和參與, 最近Motorola宣佈加入Eclipes基金會,參與一個設備軟體開發平台(DSDP)項目,開發一個針對移動Linux的工具-TmL就是一個很好的例子。基于Eclipes 框架的嵌入式開發工具將是未來嵌入式Linux 甚至是其他嵌入式作業系統的主流和標準的開發平台, 嵌入式Linux的工具目前和未來將主要是針對Linux 命令行工具的改進和提升,開發新分析工具,配置工具,性能測試工具和調試工具。 比如上面提到的Montavista Devrocket5,支持和配合BDI2000的Linuxscope, Workbench和Timestorm。埻恅弇离
埻恅弇离
一個重要的促使Eclipe的Linux工具大行其道的非技術原因是嵌入式軟體比較其他行業的軟體需要更好的工具去開發,調試和測試,而Eclipe的授權模式更加適合商業公司開發的工具以商業版稅模式銷售和支持。


埻恅弇离

嵌入式Linux軟體平台走向應用埻恅弇离
埻恅弇离
如同商業Linux伺服器軟體公司一樣, 嵌入式軟體公司也已經意識到它們應該更多的在Linux內核上進行應用軟體的開發,並在集成和測試上多下功夫以滿足用戶對使用嵌入式Linux的產品盡快上市的要求,使得嵌入式Linux對比微軟Windows Mobile更加具有競爭性,即Linux軟體中間件將越來越現出不同公司產品的差異和價值。埻恅弇离
埻恅弇离
Montavista在 4.0的產品開始就已經有了一個非常清晰的中間件層-為應用軟體提供界面,如圖3所示,這個中間層包括了GTK/X11圖形庫,200多個用戶態的應用模塊,IPV6和IPsec/IKE,Web services networking utilities,WiFi的的網路協議。在Montavista面向應用的電信CGE和手機版本Mobilinux已經涉及了應用的部分,比如Mobilinux 4.0裡面的動態電源管理就增加了支持和方便應用的策略管理,DirectFB 適合快速圖形應用的圖形庫和剛才提到的小尺寸應用庫uclibc,pro 5.0和Mobilinux 5.0將增加對WiFi安全和管理的支持, Mobilinux 5.0還有計畫支持完整的藍牙協議和應用,這些模塊雖然底層的驅動是在內核裡面的,但是相當多的模塊是在應用層的了。


埻恅弇离


埻恅弇离

圖3  Montavista Linux中的中間層埻恅弇离
埻恅弇离
當然,無論是pro,Mobilinux,CGE,都還不能稱為是完整的Linux應用平台,可以說它們比較起SUSE和Redhat已經更接近普通的嵌入式和電信的嵌入式Linux應用,但是距離消費電子手機應用還有相當的距離,目前商業公司,開源社區和行業組織還在作更多的努力,比如Trolltech,Access,LiPs。


埻恅弇离

嵌入式Linux 向著靠近標準和開放的方向邁進埻恅弇离
埻恅弇离
更多的訊息表明嵌入式Linux正在向一個標準的方向邁進,尤其是內核方面,比如Pro /CGE/Mobilinux 4.0使用標準2.6內核的RT-patch實現了Linux宿主機的實時性要求, Pro 5.0支持LSB3.0,在電信Linux方面有OSDL CGL標準,消費電子有CELF和最近的LiMo-一個由Motorola創建的手機Linux 標準平台的組織創建的標準,Montavista作為OSDL 創始成員一直致力于跟蹤和遵循CGL的規範,也是唯一透過CGL 認証的產品, 在最近的3GSM會議上,Montavista也和LiMo保持密切的接觸。更加重要的是嵌入式Linux 開發不能也很難獨立于linux開源社區,積極參與社區項目,維護社區項目,創建好的適合嵌入式Linux 社區項目才是正確的途徑。比如Montavista開發的preemptable kernel和real-time schedule ( Rober love) 后來被移植和合併到2.6的(0)1 schedule和preemptable kernel成為2.6內核的標準,新的高分辨率的定時器(HRT)-Ktime是有Montavista 維護的,也已經由2.6.18內核接受了,也將在Pro 5.0以後的各個產品裡麵包含並會支持各種嵌入式處理器的硬體平台。


埻恅弇离

結語埻恅弇离
埻恅弇离
Linux和嵌入式Linux軟體在過去五年已經越來越普遍的為IT業、半導體公司、嵌入式系統所認可和接受,它已經成為一個可以替代微軟的Windows和眾多道統的RTOS的重要的作業系統。Linux內核和基本組件和工具已經是成熟的軟體,面向行業,應用和設備的嵌入式Linux工具軟體和嵌入式Linux作業系統平台是未來發展的必然趨勢,跟蹤Linux社區的發展,符合標準,遵循開放是大勢所趨,人心所向,嵌入式Linux也不例外。


埻恅弇离

參考文獻︰埻恅弇离
1.  united by eclipse, embedded system design, 2007.1埻恅弇离
2.  eclipse focus: Motorola joins eclisp, propses Tml project, embedded computing design, 2006.10埻恅弇离
3.  王師資, 安全的選擇,2007.3-4埻恅弇离
4. Martin Fink, Linux及開放源碼在商業經濟中的應用, 清華大學出版社埻恅弇离
5. 何小慶,移動電話挑戰嵌入式Linux, 電子產品世界, 2006.12.埻恅弇离
6. 何小慶, 嵌入式軟體的最新發展, 2006年10月深圳嵌入式系統會議埻恅弇离
7. Do-it-yourself linux? Jim ready enterprise open source journal 11/12 2006埻恅弇离
8. www.mvista.com埻恅弇离
9. www.linuxdevices.com埻恅弇离
10. www.bmrtech.com




凡本網注明"稿件來源︰“電子產品世界或者EEPW”的所有文字、圖片和音視頻稿
件,版權均屬電子產品世界所有,任何媒體、網站或個人在轉載、鏈接、轉貼或以其他
模式複製發表時必須注明"稿件來源︰“電子產品世界”並署作者名稱。

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 立你斯 的頭像
    立你斯

    立你斯學習記錄

    立你斯 發表在 痞客邦 留言(0) 人氣()