嵌入式操作系統的分類
時間:2023-06-29 來源:華清遠見
隨著科技發展,人工智能技術也逐漸出現在人們面前,從三十年之前的嵌入式系統興起,之后的互聯網和物聯網迅速發展,到如今人工智能技術出現在人們的視野之中。在人工智能時代,互聯網快速發展,各種高新技術興起,為適應這個信息時代,嵌入式與物聯網工程師應加強自身專業修養,在人工智能技術發展中扮演好技術核心角色,引領人工智能技術的進一步發展。
近年來人工智能技術的興起,作為萬物互聯終端層面的核心技術,嵌入式技術也面臨著發展變化。物聯網技術是融合了多門學科的綜合性技術,利用物聯網技術能夠使物體和物體、人和物體之間構建關聯,充分利用信息傳感設備,實現人和物、物和物之間的信息交流。嵌入式系統是一種先進的計算機技術,在不同的情況下應用嵌入式系統,能夠呈現出不同的產物,可融合于多種技術之中,如傳感技術、自動控制技術等。基于此,對比嵌入式系統和物聯網可發現,前者主要是在計算機系統中嵌入具體的應用,在專業性上更為專一,在服務上更具針對性,而后者則主要是利用物聯網設備來提供通信服務、計算服務和感知服務等。目前,在某種程度上可以說嵌入式系統是物聯網設備功能中的其中一部分,兩者之間的差異會隨著專業技術水平的提升而縮小。簡單的嵌入式系統,與物聯網設備之間有一定的區別,復雜嵌入系統已經達到了物聯網設備的定義要求。
嵌入式操作系統(Embedded Operating System,簡稱:EOS)是指用于嵌入式系統的操作系統。嵌入式操作系統是一種用途廣泛的系統軟件,通常包括與硬件相關的底層驅動軟件、系統內核、設備驅動接口、通信協議、圖形界面、標準化瀏覽器等。嵌入式操作系統負責嵌入式系統的全部軟、硬件資源的分配、任務調度,控制、協調并發活動。它必須體現其所在系統的特征,能夠通過裝卸某些模塊來達到系統所要求的功能。在嵌入式領域廣泛使用的操作系統有:嵌入式實時操作系統µC/OS-II、嵌入式Linux、Windows Embedded、VxWorks、Intewell操作系統 等,以及應用在智能手機和平板電腦的Android、iOS、華為鴻蒙等。
嵌入式操作系統是嵌入式系統的靈魂, 它減少了嵌入式系統開發的工作量, 很大程上提升了嵌入式系統的開發效率, 并使系統開發更具科學性, 為嵌入式系統的發展奠定了良好基礎。根據IEEE9(國家電氣和電子工師協會)的定義,嵌入式系統定義為控制監視或者輔助操作機器和設備的裝置。這主要是從應用對象上加以定義的,涵蓋了軟、硬件及輔助機械設備。國內普遍認同的嵌入式操作系統定義為:以應用為中心、以計算機技術為基礎、軟硬件可裁剪、適應應用系統對功能、可靠性、成本、體積、功耗等嚴格要求的專用計算機系統。
當前,常用的嵌入式操作系統可分為:商用系統、專用系統以及開放系統三大類
(1)商用嵌入式操作系統。
商用嵌入式操作系統功能較強大,輔助工具較齊全,可應用的范圍也較廣,在許多領域都有應用,例Wircro Soft的Windows CE 、WindRiver的Vxworks以及中科院的Hopen等。
(2)專用嵌入式操作系統
專用嵌入式操作系統一般不對用戶公開,它是一些專業的公司針對該公司產品所特制的嵌入式操作系統。專用嵌入式操作系統功能相對較弱,但具有較強的針對性,而且比普通的商用嵌入式操作系統更加安全可靠。
(3)開放嵌入式操作系統
開放嵌入式操作系統是近年來迅速發展的一類操作系統。因為應用系統發的開發者可免費得到這些系統的源代碼,因此開發難度低。但開放嵌入式操作系統的功能簡單、技術支持以及系統的穩定性也相對較差,因此對應用系統開發者提出了較高的要求。
現在目前主流常見的四種嵌入式操作系統分別是VxWorks、Windows CE、μC/OS-Ⅱ、嵌入式Linux,它們各自擁有各自的優缺點。
(1)VxWorks
VxWorks操作系統是美國WindRiver公司于1983年設計開發的一種嵌入式實時操作系統(RTOS),是Tornado嵌入式開發環境的關鍵組成部分。良好的持續發展能力、高性能的內核以及友好的用戶開發環境,在嵌入式實時操作系統領域逐漸占據一席之地。
VxWorks具有可裁剪微內核結構、高效的任務管理、靈活的任務間通訊、微妙級的中斷處理、支持多種物理介質及標準的、完整的TCP/TP網絡協議等眾多優點,然而其價格昂貴。由于操作系統本身以及開發環境都是專用的,價格一般比較高,通常需要花費10萬元人民幣以上才能建立起一個可用的開發環境,對每一個應用一般還要另外收起版稅。一般不提供源代碼,只提供二進制代碼。它們都是專用操作系統,需要專門的技術人員掌握開發技術和維護,所以軟件的開發和維護成本都非常高。
(2)Windows CE
Windows CE與Windows系列有較好的兼容性,無疑是Windows CE推廣的一大優勢。其中WinCE3.0是一種針對小容量、移動式、智能化、32位、了解設備的模塊化實時嵌入式操作系統。為建立針對掌上設備、無線設備的動態應用程序和服務提供了一種功能豐富的操作系統平臺,它能在多種處理器體系結構上運行,并且通常適用于那些對內存占用空間具有一定限制的設備。它是從整體上為有限資源的平臺設計的多線程、完整優先權、多任務的操作系統。它的模塊化設計允許它對從掌上電腦到專用的工業控制器的用戶電子設備進行定制。從技術角度上講,Windows CE作為嵌入式操作系統有很多的缺陷:不開放源代碼,使應用開發人員很難實現產品的定制;在效率、功耗方面的表現并不出色,而且和Windows一樣占用過多的系統內存,運用程序龐大;具有版權許可費。
(3)μC/OS-Ⅱ
μC/OS-Ⅱ是著名的源代碼公開的實時內核,是專為嵌入式應用設計的,可用于16位和32位單片機或數字信號處理器(DSP)。它是在原版本μC/OS的基礎上做了重大改進與升級,并有了近十年的使用實踐,有許多成功應用實時內核的示例。它的主要特點有:公開源代碼,容易就能把操作系統移植到各個不同的硬件平臺上;可移植性好,絕大部分源代碼是用C語言寫的,便于移植到其他微處理器上;可固化、可裁剪;多任務,可管理64個任務;實用性和可靠性;由于μC/OS-Ⅱ僅是一個實時內核,這就以為著它不像其他實時操作系統那樣提供給用戶的只是一些API函數接口,還要很多工作需要用戶自己去完成。
(4)嵌入式Linux
嵌入式Linux最大的特點就是源代碼公開并且遵循GPL協議,在近幾年里成為研究熱點,據IDG預測嵌入式Linux將占未來兩年的嵌入式操作系統份額的50%。
由于其源代碼公開,人們可以任意修改,以滿足自己的應用,并且查錯也很容易。遵從GPL,無須為每例應用交納許可證費。有大量的應用軟件可用。其中大部分都遵從GPL,是開放源代碼和免費的。可以稍加修改后應用與用戶自己的系統。有大量的免費和有限的開發工具,且都遵從GPL。有龐大的開發人員群體,無需專門的人才,只要懂Unix/Linux和C語言即可。優秀的網絡功能,這在互聯網時代尤其重要。穩定是Linux本身具備的一個很大優點。內核精悍,運行所需資源少,十分適合嵌入式應用。
支持的硬件數量龐大,嵌入式Linux和普通Linux并五本質區別,PC上用到的硬件嵌入式Linux幾乎都支持。而且各種硬件的驅動程序源代碼都可以得到,為用戶編寫自己專有硬件的驅動程序帶來很大方便。
人工智能計算機神經網絡之前的應用一直非常的局限,大部分實驗室的模型因為其計算量巨大,離不開一臺服務端的超級計算機,但是如果終端客戶每次在終端要做一些人工智能的應用都去訪問服務器的超級計算機,那網絡帶寬就會耗費巨大,最終造成項目無法落地。2018-2019年是嵌入式人工智能發展非常有歷史性的兩年,這兩年期間各大廠商做出了端側的神經網絡超級計算芯片,并將功耗遠遠的控制在了電池可使用的范圍內。例如Inte推出的movidius神經網絡計算棒、Google推出的Edge-TPU、Nvidia推出的Jetson-Nano、瑞芯微推出的3399Pro和1808神經網絡計算棒、比特大陸推出BM1880計算棒等等,一夜之間落地開花,使得原先不可能實現的嵌入式人工智能項目,一下子全都落地變為了產品。
人工智能領域前景非常的廣闊,從計算機視覺、語音識別到智能決策、博弈,甚至超分辨率算法等等,擁有著傳統算法無法實現的強大能力。這些強大的能力在此前一直存在于實驗室環境,無法進入到人類的生活。而嵌入式芯片的崛起,真正的把這些強大的可能落地到端側,成為了未來消費電子和行業發展的重要目標,也真正地把人工智能應用到了人類生活的方方面面。嵌入式技術的也真真正正隨著人工智能而高速發展,在不久的將來嵌入式應用將持續不斷出現在人們的生活當中,實現更多更美好的設備智能化。

