Linux項目如何擺脫作坊式開發(fā)?-基礎(chǔ)電子_第1頁
Linux項目如何擺脫作坊式開發(fā)?-基礎(chǔ)電子_第2頁
Linux項目如何擺脫作坊式開發(fā)?-基礎(chǔ)電子_第3頁
Linux項目如何擺脫作坊式開發(fā)?-基礎(chǔ)電子_第4頁
Linux項目如何擺脫作坊式開發(fā)?-基礎(chǔ)電子_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

精品文檔-下載后可編輯Linux項目如何擺脫作坊式開發(fā)?-基礎(chǔ)電子Linux是Android的始祖。后者已經(jīng)風(fēng)行,但Linux卻仍然在潛行。這說明Linux的發(fā)掘遇到了嚴(yán)重的瓶頸,而克服這個瓶頸就是一個非常大的挑戰(zhàn)。這就是基于Linux的開發(fā)項目通常在商業(yè)上不夠合算,具體地說,就是開發(fā)進(jìn)度、成本以及產(chǎn)品上市之后的維護(hù)成本都有很大的不確定性,讓商業(yè)決策者很難做出清晰度判斷,因此很難用于大規(guī)模的商業(yè)項目。

絕非大家都熱衷于"作坊式"的開發(fā),其中的痛苦,凡是用過Linux的嵌入式軟件工程師都有切身感受。從一個僅有內(nèi)核和簡單網(wǎng)絡(luò)功能的操作系統(tǒng)開始,一點(diǎn)一滴地編織出一個可以與特定硬件環(huán)境相配合并可投入實(shí)際應(yīng)用的系統(tǒng),這個過程本身就像是看著別人健步如飛而自己卻在爬行。此后,硬件環(huán)境哪怕有一絲一毫的改變,就可能導(dǎo)致全面重新修改和測試整個軟件系統(tǒng)。而且,這個過程會無休止地循環(huán)下去,直至這個產(chǎn)品生命周期的結(jié)束。

擺脫Linux開發(fā)零打碎敲的束縛

盡管軟件開發(fā)工程是復(fù)雜的管理工程,但所用工具是否具備標(biāo)準(zhǔn)化、高效率、高可靠性,這是其中的關(guān)鍵因素。

在嵌入式環(huán)境中建立一個實(shí)際可用的Linux系統(tǒng),必須依賴一些軟件和工具集。請設(shè)想這樣的情形,你從開放源碼社區(qū)得到內(nèi)核、用戶空間和補(bǔ)丁等等,然后開始做自己的工作(例如建立特定大小的文件系統(tǒng)、內(nèi)核配置等等),然后應(yīng)用適當(dāng)?shù)墓ぞ呒瘉斫?gòu)各種特定的應(yīng)用軟件。而且,你可能不得不針對IA架構(gòu)做一套系統(tǒng),再針對ARM架構(gòu)做一套系統(tǒng)。

實(shí)際上,嵌入式軟件開發(fā)跟烹調(diào)做菜十分相似--用相同的食材和工具,只要稍微改變配方比例和火候,就可以做成不同的菜肴。

現(xiàn)在請設(shè)想一下,如果沒有通用的、好用的工具(例如菜刀、爐灶、鍋和炒菜的鏟子),做菜所花的時間長短將難以預(yù)計,烹調(diào)出來的菜肴品質(zhì)也很難穩(wěn)定。相反,如果刀具、爐灶和鍋都是通用的,甚至是機(jī)械化、自動化的,情況就會大大不同。麥當(dāng)勞、肯德基的廚房就是很好的實(shí)例--工具都是標(biāo)準(zhǔn)化的。在嵌入式Linux領(lǐng)域,所遇到的情形就是這樣--沒有通用的資源,從內(nèi)核、用戶空間到跨架構(gòu)構(gòu)建,也沒有通用的工具集(工具鏈、Makefile、編譯器、調(diào)試器等等)。

反觀Android,這是一個相對統(tǒng)一化、一致化的Linux系統(tǒng)。與開發(fā)一個Linux系統(tǒng)相比,開發(fā)一個Android的系統(tǒng)輕松得多,要擔(dān)心的事情也少得多,速度也快得多。那么,Linux怎樣才能實(shí)現(xiàn)類似于Android那樣的脫胎換骨?

以標(biāo)準(zhǔn)化的工具提升Linux項目的規(guī)模和效率

在2022年,開放源代碼運(yùn)動的精英們意識到,是否具備開發(fā)構(gòu)件和工具的統(tǒng)一化、一致化將會關(guān)系到Linux的生命力。于是他們聚集起來,啟動了Yocto計劃。這項計劃的目的就是提供通用的建構(gòu)系統(tǒng)和具備協(xié)同能力的開發(fā),為Linux開發(fā)者免除他們浪費(fèi)在移植、復(fù)制、重建和維護(hù)這些低價值工作上的時間。這兩年來,Yocto計劃取得了重要進(jìn)展,其中具有標(biāo)志性的一環(huán)就是"Yocto計劃兼容性需求規(guī)范(YoctoProjectComplianceRequirements)"的推出。

Yocto計劃是一個開放源碼協(xié)同計劃,它提供必備的標(biāo)準(zhǔn)以及高質(zhì)量的架構(gòu)、工具和方法論,可以降低嵌入式Linux軟件工程項目的復(fù)雜度,提高其可移植性。Yocto計劃不是某一家公司或者機(jī)構(gòu)提供的Linux發(fā)行版本,而是吸引了許多硬件和軟件公司都加入其中,共同來支持嵌入式Linux開發(fā)者實(shí)現(xiàn)更好的跨平臺兼容性和部件互操作性。

更加誘人的是,Yocto不會讓用戶有廠商鎖定的困擾。用戶既擁有了高質(zhì)量的標(biāo)準(zhǔn)化工具,又可以自行管理其風(fēng)險。對于企業(yè)戰(zhàn)略來說,擁有自主的技術(shù)選擇是成功的必要條件。Linux項目中的互操作性、可移植性和可重用性將會讓開發(fā)團(tuán)隊受益無窮。

以WindRiverLinux5擺脫硬件不確定性的束縛

風(fēng)河公司(WindRiver)不僅在Yocto計劃中投入了大量的時間和精力,并且積極傾聽了用戶和合作伙伴的聲音,在此基礎(chǔ)上還推出了新的WindRiverLinux5.

的WindRiverLinux5以Yocto計劃開源開發(fā)環(huán)境為基礎(chǔ),而且也是批能真正達(dá)到"Yocto兼容性規(guī)范"要求的產(chǎn)品之一。其中不僅蘊(yùn)含著的開源創(chuàng)意,而且保證了Yocto要求的兼容性和互操作性。

通過融入Yocto計劃,風(fēng)河為開源社區(qū)更進(jìn)一步發(fā)展嵌入式Linux系統(tǒng)提供了一個更開放、更靈活的基礎(chǔ)。由于WindRiverLinux5具備良好的互操作性,并且確保了與Yocto的兼容性,從而可以消除大量重寫代碼的痛苦,讓嵌入式Linux大幅度降低繁重的手工操作,自動化的程度越來越高。

由于采用基于Yocto的基礎(chǔ)架構(gòu)(如圖所示),WindRiverLinux5可與Yocto計劃兼容板級支持包(BSP)以及軟件或中間件協(xié)同工作,從而幫助開發(fā)者迅速實(shí)施互用性高、不依賴于平臺的Linux項目。

圖:WindRiverLinux5架構(gòu)示意圖。

回顧Linux和開放源碼運(yùn)動的發(fā)展不難看出,Yocto計劃賦予開發(fā)人員一個極高的起點(diǎn),幫助他們避免重復(fù)工作以及不必要的維護(hù)。事實(shí)上,Yocto計劃是的開源項目之一,以此為基礎(chǔ)而開發(fā)的通用創(chuàng)建系統(tǒng),可幫助開發(fā)人員避免從零開始,轉(zhuǎn)而把時間和資源集中于開發(fā)差異化Linux設(shè)備,從而實(shí)現(xiàn)投資回報化。

WindRiverLinux5不僅兼容Yocto計劃,還提供了商業(yè)級L

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論