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