嵌入式開源軟體的十大弊端

abel_cao發表於2018-03-08

版權宣告:本文為半吊子子全棧工匠(wireless_com,同公眾號)原創文章,未經允許不得轉載。 https://blog.csdn.net/wireless_com/article/details/79493324

俗話說得好,“得來全不費功夫”,免費當然是個好事情了。既然是免費的, 開源的實時作業系統(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 使用者, 保證他們能夠從最好的公司獲得最好的產品。

編譯自:https://rtos.com/wp-content/uploads/2018/01/ELPitfallsofOpenSource_Software.pdf


相關文章