俗話說,免費是個好價錢,所以免費的開源實時操作系統(RTOS)似乎是個不錯的交易。但對于物聯網設備(如家庭自動化和可穿戴設備、醫療儀器和工業控制系統)和嵌入式開發者來說,它們通常不值得冒險。在決定之前,請確保了解使用開源而非商業RTOS的實際成本和陷阱。
1.可靠性
如果RTOS出現故障或行為異常,你的產品也會出現故障。即使RTOS故障可能不會導致人員受傷或死亡,也可能導致客戶不滿、銷售不佳和產品召回。經過安全認證的RTOS讓人相信它已經過徹底的審查、測試,并證明其性能符合預期。
2.安全
開源軟件(OSS)是免費的,這意味著任何人都可以設計出一種顛覆它的方法。如果它被用于成功的商業產品,黑客的動機就會增強。OSS組件可能包含安全漏洞,可在使用這些組件的任何產品中利用。
3.獨立
在嵌入式開發中,一些開放源碼軟件實時操作系統可以由商業組織修改和“指導”。這種獨立性的喪失在任何與乘務組織不兼容的環境中都會引起擔憂。例如,ARM Mbed OS僅適用于ARM處理器,因此它的使用是ARM的有效鎖定。這限制了將來在不同微處理器上使用的選項。
4.性能
RTOS服務的速度會影響產品的性能和可靠性。尺寸也很重要。更小的代碼大小可以使用成本更低的微處理器和更少的內存,并為應用程序代碼留出更多空間。任何RTOS的性能都可以使用“線程度量”基準套件(此處描述)進行測量和量化。
5.缺少高級功能
OSS RTOS執行基本的RTOS服務,使嵌入式或物聯網設備能夠運行。商業RTOS通常提供額外的增值功能,以使應用程序運行更快,并使開發和調試更容易。其結果是一種更高效、更高性能的嵌入式/物聯網產品,能夠更快地進入市場,并在整個嵌入式開發生命周期內更加成功。
6.中間件
商業RTOS通常包括中間件,如嵌入式文件系統、TCP/IP網絡堆棧、USB主機/設備支持、圖形框架和IoT云服務接口。這些中間件組件可能可以與OSS RTOS一起使用,但通常不是由單個組織集成或支持的。然后,產品開發人員必須彌補“集成差距”,增加項目時間、成本和錯誤風險。
7.支持
OSS支持社區可能有幫助,也可能沒有幫助。商業RTOS包括對商業產品的可靠、響應迅速的支持。商業RTOS提供商還保證API完全向后兼容,許可條款以合同形式固定,與OSS不同,不能單方面更改。
8.法律問題
在嵌入式開發中,與在商業產品中使用OSS RTOS相關的三個常見法律問題包括:
l 使用“未知血統軟件”(SOUP),可能導致知識產權侵權
l 要求向開放社區披露與OSS結合或鏈接的專有代碼
l 開發最佳實踐通常不等同于“我們使用它是因為它是免費的”的產品責任
9.費用
其中許多陷阱會為內部培訓、支持和集成帶來額外成本。其他費用與法律問題有關,包括侵犯知識產權。這些成本可能是巨大的,忽視它們對商業企業來說可能是災難性的。
10.沒有商業壓力使開源變得更好
最后,商業RTOS開發人員面臨的競爭壓力提供了繼續投資于確定和滿足客戶需求的動力。這種基本的業務動態有利于RTOS用戶,確保嵌入式開發人員能夠從生存時間最長的最佳公司獲得最佳產品。