Linux項(xiàng)目如何擺脫作坊式開發(fā)?
出處:hugerat 發(fā)布于:2012-10-23 09:16:19
Linux是Android的始祖。后者已經(jīng)風(fēng)行,但Linux卻仍然在潛行。這說(shuō)明Linux的發(fā)掘遇到了嚴(yán)重的瓶頸,而克服這個(gè)瓶頸就是一個(gè)非常大的挑戰(zhàn)。這就是基于Linux的開發(fā)項(xiàng)目通常在商業(yè)上不夠合算,具體地說(shuō),就是開發(fā)進(jìn)度、成本以及產(chǎn)品上市之后的維護(hù)成本都有很大的不確定性,讓商業(yè)決策者很難做出清晰度判斷,因此很難用于大規(guī)模的商業(yè)項(xiàng)目。
絕非大家都熱衷于"作坊式"的開發(fā),其中的痛苦,凡是用過(guò)Linux的嵌入式軟件工程師都有切身感受。從一個(gè)僅有內(nèi)核和簡(jiǎn)單網(wǎng)絡(luò)功能的操作系統(tǒng)開始,一點(diǎn)一滴地編織出一個(gè)可以與特定硬件環(huán)境相配合并可投入實(shí)際應(yīng)用的系統(tǒng),這個(gè)過(guò)程本身就像是看著別人健步如飛而自己卻在爬行。此后,硬件環(huán)境哪怕有一絲一毫的改變,就可能導(dǎo)致全面重新修改和測(cè)試整個(gè)軟件系統(tǒng)。而且,這個(gè)過(guò)程會(huì)無(wú)休止地循環(huán)下去,直至這個(gè)產(chǎn)品生命周期的結(jié)束。
擺脫Linux開發(fā)零打碎敲的束縛
盡管軟件開發(fā)工程是復(fù)雜的管理工程,但所用工具是否具備標(biāo)準(zhǔn)化、高效率、高可靠性,這是其中的關(guān)鍵因素。
在嵌入式環(huán)境中建立一個(gè)實(shí)際可用的Linux系統(tǒng),必須依賴一些軟件和工具集。請(qǐng)?jiān)O(shè)想這樣的情形,你從開放源碼社區(qū)得到內(nèi)核、用戶空間和補(bǔ)丁等等,然后開始做自己的工作(例如建立特定大小的文件系統(tǒng)、內(nèi)核配置等等),然后應(yīng)用適當(dāng)?shù)墓ぞ呒瘉?lái)建構(gòu)各種特定的應(yīng)用軟件。而且,你可能不得不針對(duì)IA架構(gòu)做一套系統(tǒng),再針對(duì)ARM架構(gòu)做一套系統(tǒng)。
實(shí)際上,嵌入式軟件開發(fā)跟烹調(diào)做菜十分相似--用相同的食材和工具,只要稍微改變配方比例和火候,就可以做成不同的菜肴。
現(xiàn)在請(qǐng)?jiān)O(shè)想一下,如果沒有通用的、好用的工具(例如菜刀、爐灶、鍋和炒菜的鏟子),做菜所花的時(shí)間長(zhǎng)短將難以預(yù)計(jì),烹調(diào)出來(lái)的菜肴品質(zhì)也很難穩(wěn)定。相反,如果刀具、爐灶和鍋都是通用的,甚至是機(jī)械化、自動(dòng)化的,情況就會(huì)大大不同。麥當(dāng)勞、肯德基的廚房就是很好的實(shí)例--工具都是標(biāo)準(zhǔn)化的。在嵌入式Linux領(lǐng)域,所遇到的情形就是這樣--沒有通用的資源,從內(nèi)核、用戶空間到跨架構(gòu)構(gòu)建,也沒有通用的工具集(工具鏈、Makefile、編譯器、調(diào)試器等等)。
反觀Android,這是一個(gè)相對(duì)統(tǒng)一化、一致化的Linux系統(tǒng)。與開發(fā)一個(gè)Linux系統(tǒng)相比,開發(fā)一個(gè)Android的系統(tǒng)輕松得多,要擔(dān)心的事情也少得多,速度也快得多。那么,Linux怎樣才能實(shí)現(xiàn)類似于Android那樣的脫胎換骨?
以標(biāo)準(zhǔn)化的工具提升Linux項(xiàng)目的規(guī)模和效率
在2010年,開放源代碼運(yùn)動(dòng)的精英們意識(shí)到,是否具備開發(fā)構(gòu)件和工具的統(tǒng)一化、一致化將會(huì)關(guān)系到Linux的生命力。于是他們聚集起來(lái),啟動(dòng)了Yocto計(jì)劃。這項(xiàng)計(jì)劃的目的就是提供通用的建構(gòu)系統(tǒng)和具備協(xié)同能力的開發(fā),為L(zhǎng)inux開發(fā)者免除他們浪費(fèi)在移植、復(fù)制、重建和維護(hù)這些低價(jià)值工作上的時(shí)間。這兩年來(lái),Yocto計(jì)劃取得了重要進(jìn)展,其中具有標(biāo)志性的一環(huán)就是"Yocto計(jì)劃兼容性需求規(guī)范(Yocto Project Compliance Requirements)"的推出。
Yocto計(jì)劃是一個(gè)開放源碼協(xié)同計(jì)劃,它提供必備的標(biāo)準(zhǔn)以及高質(zhì)量的架構(gòu)、工具和方法論,可以降低嵌入式Linux軟件工程項(xiàng)目的復(fù)雜度,提高其可移植性。Yocto計(jì)劃不是某一家公司或者機(jī)構(gòu)提供的Linux發(fā)行版本,而是吸引了許多硬件和軟件公司都加入其中,共同來(lái)支持嵌入式Linux開發(fā)者實(shí)現(xiàn)更好的跨平臺(tái)兼容性和部件互操作性。
更加誘人的是,Yocto不會(huì)讓用戶有廠商鎖定的困擾。用戶既擁有了高質(zhì)量的標(biāo)準(zhǔn)化工具,又可以自行管理其風(fēng)險(xiǎn)。對(duì)于企業(yè)戰(zhàn)略來(lái)說(shuō),擁有自主的技術(shù)選擇是成功的必要條件。Linux項(xiàng)目中的互操作性、可移植性和可重用性將會(huì)讓開發(fā)團(tuán)隊(duì)受益無(wú)窮。
以Wind River Linux 5擺脫硬件不確定性的束縛
風(fēng)河公司(Wind River)不僅在Yocto計(jì)劃中投入了大量的時(shí)間和精力,并且積極傾聽了用戶和合作伙伴的聲音,在此基礎(chǔ)上還推出了新的Wind River Linux 5.
的Wind River Linux 5以Yocto計(jì)劃開源開發(fā)環(huán)境為基礎(chǔ),而且也是批能真正達(dá)到"Yocto兼容性規(guī)范"要求的產(chǎn)品之一。其中不僅蘊(yùn)含著的開源創(chuàng)意,而且保證了Yocto要求的兼容性和互操作性。
通過(guò)融入Yocto計(jì)劃,風(fēng)河為開源社區(qū)更進(jìn)一步發(fā)展嵌入式Linux系統(tǒng)提供了一個(gè)更開放、更靈活的基礎(chǔ)。由于Wind River Linux 5具備良好的互操作性,并且確保了與Yocto的兼容性,從而可以消除大量重寫代碼的痛苦,讓嵌入式Linux大幅度降低繁重的手工操作,自動(dòng)化的程度越來(lái)越高。
由于采用基于Yocto的基礎(chǔ)架構(gòu)(如圖所示),Wind River Linux 5可與Yocto計(jì)劃兼容板級(jí)支持包(BSP)以及軟件或中間件協(xié)同工作,從而幫助開發(fā)者迅速實(shí)施互用性高、不依賴于平臺(tái)的Linux項(xiàng)目。

圖:Wind River Linux 5架構(gòu)示意圖。
回顧Linux和開放源碼運(yùn)動(dòng)的發(fā)展不難看出,Yocto計(jì)劃賦予開發(fā)人員一個(gè)極高的起點(diǎn),幫助他們避免重復(fù)工作以及不必要的維護(hù)。事實(shí)上,Yocto計(jì)劃是的開源項(xiàng)目之一,以此為基礎(chǔ)而開發(fā)的通用創(chuàng)建系統(tǒng),可幫助開發(fā)人員避免從零開始,轉(zhuǎn)而把時(shí)間和資源集中于開發(fā)差異化Linux設(shè)備,從而實(shí)現(xiàn)投資回報(bào)化。
Wind River Linux 5不僅兼容Yocto計(jì)劃,還提供了商業(yè)級(jí)Linux平臺(tái)以及便捷的開箱即用用戶體驗(yàn)。由于Wind River是Yocto計(jì)劃的創(chuàng)始會(huì)員以及咨詢委員會(huì)的會(huì)員,再加上風(fēng)河范圍內(nèi)的技術(shù)支持和維護(hù)以及級(jí)服務(wù),因而可以支持Linux項(xiàng)目開發(fā)者擺脫"小爐匠"式的開發(fā)作業(yè),進(jìn)入標(biāo)準(zhǔn)化、商業(yè)化的全新時(shí)代。
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫(kù)電子市場(chǎng)網(wǎng)”的所有作品,版權(quán)均屬于維庫(kù)電子市場(chǎng)網(wǎng),轉(zhuǎn)載請(qǐng)必須注明維庫(kù)電子市場(chǎng)網(wǎng),http://www.hbjingang.com,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問(wèn)題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- MOSFET反向恢復(fù)特性對(duì)系統(tǒng)的影響2026/4/10 11:07:36
- 連接器耐腐蝕性能測(cè)試方法2026/4/10 10:56:32
- MOSFET在高頻開關(guān)中的EMI問(wèn)題2026/4/9 10:13:50
- 連接器結(jié)構(gòu)設(shè)計(jì)常見問(wèn)題分析2026/4/9 10:02:52
- 連接器選型中容易忽略的關(guān)鍵參數(shù)2026/4/8 10:32:54
- 高速PCB信號(hào)完整性(SI)設(shè)計(jì)核心實(shí)操規(guī)范
- 鎖相環(huán)(PLL)中的環(huán)路濾波器:參數(shù)計(jì)算與穩(wěn)定性分析
- MOSFET反向恢復(fù)特性對(duì)系統(tǒng)的影響
- 電源IC在惡劣環(huán)境中的防護(hù)設(shè)計(jì)
- 連接器耐腐蝕性能測(cè)試方法
- PCB電磁兼容(EMC)設(shè)計(jì)與干擾抑制核心實(shí)操規(guī)范
- 用于相位噪聲測(cè)量的低通濾波器設(shè)計(jì)與本振凈化技術(shù)
- MOSFET在高頻開關(guān)中的EMI問(wèn)題
- 電源IC在便攜式設(shè)備中的設(shè)計(jì)要點(diǎn)
- 連接器結(jié)構(gòu)設(shè)計(jì)常見問(wèn)題分析









