嵌入式開源軟件的十大弊端
俗話說得好,“得來全不費功夫”,免費當(dāng)然是個好事情了。既然是免費的, 開源的實時操作系統(tǒng)(RTOS)看起來是個不錯的選擇。 但是對于嵌入式設(shè)備和物聯(lián)網(wǎng)設(shè)備的開發(fā)者來說, 有時并不愿輕易涉足, 比如家居自動化和可穿戴設(shè)備, 醫(yī)療儀器和工業(yè)控制系統(tǒng)。 在決定之前, 需要了解使用開放源碼的真正成本和弊端。
1.可靠性
如果 RTOS 失敗或者行為出人意料, 會導(dǎo)致產(chǎn)品的異常。 即使一個 RTOS 故障可能不會導(dǎo)致異常或掛掉, 也可能會導(dǎo)致顧客不滿, 銷售不佳甚至產(chǎn)品召回。 一個安全認(rèn)證的 RTOS 提供了信心, 由于經(jīng)過徹底的審查, 測試和驗證, 一般能夠滿足預(yù)期。
2.安全性
開放源碼軟件(OSS)是免費提供的, 這意味著任何人都可以設(shè)計出破壞它的方法。 如果被用于一個成功的商業(yè)產(chǎn)品, 黑客的動機可能會增強。 開放源碼軟件組件可能包含安全漏洞, 這些漏洞可能被別有用心的人加以利用。
3.獨立性
一些 OSS 的RTOS可能被一個商業(yè)組織修改和"屏蔽"。 類似獨立性的喪失在任何與管理組織不兼容的環(huán)境中可能是一下?lián)鷳n。 例如, ARM Mbed OS 僅適用于 ARM 處理器, 是 ARM 的有效鎖定。 這限制了未來在不同微處理器上使用的選項。
4.性能
服務(wù)的速度會影響產(chǎn)品的性能和可靠性。 規(guī)模也很重要,較小的代碼大小可以使用成本較低的微處理器和較少的內(nèi)存, 并為應(yīng)用程序代碼留下了更多的空間。 任何 RTOS 的性能都可以用"線程度量"基準(zhǔn)套件來衡量和量化。
5.先進的功能
開源軟件的 RTOS 執(zhí)行基本的服務(wù), 使嵌入式或物聯(lián)網(wǎng)設(shè)備能夠正常工作。 商業(yè) RTOS通常提供額外的增值特性, 使應(yīng)用程序運行更快, 并使開發(fā)和調(diào)試更容易。 這會導(dǎo)致一個更有效率、更高性能的嵌入式 / 物聯(lián)網(wǎng)產(chǎn)品, 能夠更快地進入市場, 并在其整個生命周期中更加成功。
6.中間件
商業(yè) RTOS通常包括嵌入式文件系統(tǒng)、 tcp / ip 網(wǎng)絡(luò)堆棧、 USB 主機 / 設(shè)備支持、圖形界面框架和 IoT 云服務(wù)接口。 這些中間件組件可能可以與一個開源軟件的 RTOS 一起使用, 但是通常不是由一個單一的組織集成或支持的。 最后, 產(chǎn)品開發(fā)人員需要彌合"集成差距", 可能導(dǎo)致增加項目時間、成本和錯誤風(fēng)險。
7.技術(shù)支撐
開放源碼軟件支持社區(qū)可能會有所幫助ーー或者不能。 一個商業(yè)的 RTOS 包括對商業(yè)產(chǎn)品的可靠、響應(yīng)性支持。 商業(yè)的 RTOS 提供商還保證 API 中的完全向后兼容, 許可條款以合同形式確定, 不能單方面改變,開放源碼軟件一般不是這樣的。
8.法律考量
在商業(yè)產(chǎn)品中使用開放源碼軟件(OSS RTOS)的三個常見法律問題包括:
- 使用"不明來源軟件" , 可能導(dǎo)致知識產(chǎn)權(quán)侵權(quán)
- 要求向開放社區(qū)披露與開放源碼軟件相結(jié)合或與開放源碼軟件鏈接的專有代碼
- 產(chǎn)品開發(fā)的最佳實踐并不等同于"我們使用它是因為它是免費的"
9.成本
開源軟件的使用為內(nèi)部培訓(xùn)、支持和整合帶來了額外的成本。 其他成本涉及法律問題, 包括侵犯知識產(chǎn)權(quán)。 這些成本可能是巨大的, 忽視它,可能對一個商業(yè)企業(yè)來說是災(zāi)難性的。
10.商業(yè)活力
商業(yè)的 RTOS 開發(fā)商所面臨的競爭壓力為繼續(xù)投資于確定和滿足客戶需求提供了動力。 這種基本的商業(yè)活力有利于 RTOS 用戶, 保證他們能夠從最好的公司獲得最好的產(chǎn)品。
【本文來自51CTO專欄作者“老曹”的原創(chuàng)文章,作者微信公眾號:喔家ArchiSelf,id:wrieless-com】