當(dāng)前位置:首頁 > 物聯(lián)網(wǎng) > 物聯(lián)網(wǎng)技術(shù)文庫
[導(dǎo)讀] 在當(dāng)今由物聯(lián)網(wǎng)(IOT)驅(qū)動的互聯(lián)嵌入式設(shè)備市場中,開發(fā)中的大部分設(shè)備都是以某種形式的Linux為基礎(chǔ)的。具有現(xiàn)成Linux發(fā)行版的低成本電路板的普及應(yīng)用是這方面的關(guān)鍵驅(qū)動因素。而獲取硬件,構(gòu)建

在當(dāng)今由物聯(lián)網(wǎng)(IOT)驅(qū)動的互聯(lián)嵌入式設(shè)備市場中,開發(fā)中的大部分設(shè)備都是以某種形式的Linux為基礎(chǔ)的。具有現(xiàn)成Linux發(fā)行版的低成本電路板的普及應(yīng)用是這方面的關(guān)鍵驅(qū)動因素。而獲取硬件,構(gòu)建自定義代碼,將設(shè)備連接到其他硬件外圍設(shè)備和互聯(lián)網(wǎng)中,以及使用商業(yè)云提供商進行設(shè)備管理從未如此簡單。開發(fā)人員或開發(fā)團隊可以快速構(gòu)建新應(yīng)用程序的原型,并將設(shè)備提供給潛在用戶。這是一件好事,將產(chǎn)生許多有趣的新應(yīng)用,但也產(chǎn)生了許多不良的應(yīng)用。

在規(guī)劃超出原型設(shè)計階段的系統(tǒng)設(shè)計時,事情變得更加復(fù)雜。本文主要對開發(fā)和維護基本操作系統(tǒng)(OS)映像的機制進行闡述。有許多工具可以幫助解決這個問題,但在此不會討論各種工具。這里感興趣的是維持和增強這種形象的基本模式,以及它將如何使人們的生活變得更好或更糟。

生成這些映像有兩種主要模型:

Centralized Golden Master

分布式構(gòu)建系統(tǒng)

這些類別反映了源代碼管理(SCM)系統(tǒng)的驅(qū)動模型,在討論操作系統(tǒng)映像時,許多關(guān)于集中式和分布式的論點都是適用的。

Centralized Golden Master

業(yè)余愛好者和制造商項目主要使用Centralized Golden Master方法來創(chuàng)建和維護應(yīng)用程序映像。這一事實使該模型具有速度和熟悉度的優(yōu)勢,允許開發(fā)人員快速設(shè)置這樣的系統(tǒng)并使其運行。這一速度來自于許多設(shè)備制造商為其現(xiàn)成的硬件提供固定映像的事實。例如,來自BeagleBone和Raspberry Pi等系列的主板提供即用型操作系統(tǒng)映像和閃存。依靠這些映像意味著只需點擊幾下鼠標(biāo)即可啟動并運行系統(tǒng)。這些映像通常基于許多設(shè)備開發(fā)人員已經(jīng)使用的桌面發(fā)行版,例如Debian。多年使用Linux可以直接轉(zhuǎn)移到嵌入式設(shè)計,包括包裝實用程序基本保持相同的事實,而且對于設(shè)計人員來說,獲得他們需要的額外軟件包很簡單。

這種方法有一些缺點。首先,Centralized Golden Master的映像通常是一個瓶頸,導(dǎo)致原型設(shè)計階段后開發(fā)人員的工作效率下降,因為每個人都必須等待輪到他們訪問***映像并進行更改。在供應(yīng)鏈管理(SCM)領(lǐng)域,這種做法相當(dāng)于具有單獨文件定的集中式系統(tǒng)。只有具有鎖定的開發(fā)人員才能處理任何給定的文件。

這種方法的第二個缺點是映像再現(xiàn)性。通常通過人工登錄目標(biāo)系統(tǒng),使用本機包管理器安裝包、配置應(yīng)用程序和點文件,然后就地修改系統(tǒng)配置文件來管理。完成此過程后,將使用dd命令的實用程序或等效工具對磁盤進行映像,然后進行分發(fā)。

同樣,這種方法會造成潛在問題。例如,基于網(wǎng)絡(luò)的軟件包源可能不再存在,并且供應(yīng)商映像提供的基礎(chǔ)軟件可能會更改。腳本可以幫助緩解這些問題。但是,當(dāng)對配置文件格式或供應(yīng)商的基本軟件包進行更改時,這些腳本往往很脆弱并且會中斷。

這種開發(fā)模式產(chǎn)生的***一個問題是依賴第三方。如果硬件供應(yīng)商的映像更改不適合企業(yè)的設(shè)計,則可能需要投入大量時間進行調(diào)整。

分布式構(gòu)建系統(tǒng)

這種為應(yīng)用程序創(chuàng)建和維護映像的方法依賴于與目標(biāo)硬件分離的目標(biāo)映像的生成。這里的開發(fā)人員工作流程類似于使用供應(yīng)鏈管理(SCM)系統(tǒng)的標(biāo)準(zhǔn)軟件開發(fā);映像可以通過工具完全構(gòu)建,每個開發(fā)人員都可以獨立工作。通過編輯元數(shù)據(jù)文件(腳本、配方、配置文件等)對系統(tǒng)進行更改,然后重新運行工具以生成更新的映像。然后使用供應(yīng)鏈管理(SCM)系統(tǒng)管理這些元數(shù)據(jù)文件。各個開發(fā)人員可以將***的更改合并到他們的工作副本中,以生成他們的開發(fā)映像。在這種情況下,開發(fā)人員可以避免相關(guān)的瓶頸。

然后,構(gòu)建系統(tǒng)使用標(biāo)準(zhǔn)供應(yīng)鏈管理(SCM)技術(shù)生成發(fā)布映像,以從所有開發(fā)人員處獲取更改。

以這種方式工作可以增加開發(fā)團隊的規(guī)模,而不會降低開發(fā)人員的工作效率。所有工程師都可以獨立工作。此外,這種設(shè)置可確保企業(yè)的構(gòu)建可以重現(xiàn)。使用標(biāo)準(zhǔn)供應(yīng)鏈管理(SCM)工作流可以確保在未來的時間重新生成特定的構(gòu)建,從而允許長期維護,即使上游提供程序不再可用。與使用分布式供應(yīng)鏈管理(SCM)工具類似,還需要有其他策略來實現(xiàn)可重現(xiàn)的候選映像。各個開發(fā)人員擁有自己的源代碼副本,并且可以構(gòu)建自己的測試映像,但是為了正確的發(fā)布工作,開發(fā)團隊需要建立合并和分支標(biāo)準(zhǔn),并確保所有針對發(fā)布的更改最終合并到明確定義中。許多上游項目已經(jīng)為這種發(fā)布策略定義了明確的流程(例如,使用* -stable和* -next分支)。

這種方法的主要缺點是缺乏熟悉度。例如,向映像添加包通常需要創(chuàng)建某種配方,然后更新定義,以便包二進制文件包含在映像中。這與登錄到正在運行的系統(tǒng)時運行apt非常不同。這些系統(tǒng)的學(xué)習(xí)曲線可能令人生畏,但結(jié)果更具可預(yù)測性和可擴展性,在考慮大規(guī)模生產(chǎn)的產(chǎn)品設(shè)計時可能是更好的選擇。

OpenEmbedded和Buildroot等專用構(gòu)建系統(tǒng)使用此模型,如debootstrap和multistrap等發(fā)行版打包工具。而Isar、debos和ELBE等新工具也使用這個基本模型。這樣的選擇還有很多,為企業(yè)的設(shè)計學(xué)習(xí)一個或多個這些包是值得投資的。這些系統(tǒng)的長期可維護性和可重復(fù)性將允許企業(yè)生成可重現(xiàn)的構(gòu)建、跟蹤所有源代碼,并消除企業(yè)對第三方提供商的依賴性,從而降低設(shè)計風(fēng)險。

結(jié)論

需要明確的是,分布式模型確實遇到了與Golden Maste模型相同的一些問題,尤其是對第三方的依賴。這是使用由他人設(shè)計的系統(tǒng)的結(jié)果,除非企業(yè)選擇自己完全采用的方法,而這種方法在開發(fā)和維護方面會帶來巨大的成本。

對于原型設(shè)計和概念驗證級別設(shè)計,以及由少數(shù)開發(fā)人員組成的團隊,Golden Master模型可能是正確的選擇,因為在此階段的開發(fā)中存在時間和預(yù)算限制。對于小批量、高接觸設(shè)計,這可能是一個可接受的權(quán)衡生產(chǎn)使用。

對于一般生產(chǎn)用途,團隊規(guī)??蓴U展性、映像再現(xiàn)性、開發(fā)人員生產(chǎn)力方面的好處大大超過了實現(xiàn)分布式模型的系統(tǒng)的學(xué)習(xí)曲線和開銷。板卡和芯片供應(yīng)商的支持也在這些系統(tǒng)中廣泛使用,降低了使用它們進行開發(fā)的前期成本。對于企業(yè)推出的新產(chǎn)品,建議在認(rèn)真考慮用于生成基本操作系統(tǒng)映像的模型的情況下啟動設(shè)計。如果企業(yè)選擇使用Golden Master模型進行原型設(shè)計以轉(zhuǎn)移到分布式模型,需要確保在企業(yè)的計劃中為此工作提供足夠的時間;根據(jù)企業(yè)選擇的具體工具以及要求的范圍,以及企業(yè)的代碼所依賴的軟件包的開箱即用的可用性,其估算值會有很大差異。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉