微控制器與微處理器
微控制器單元,簡稱微控制器,其英文名為microcontroller unit(簡寫微MCU),是指在一個晶片上構成的以實現控制目的為主的功能單元。其包括中央處理器、存儲器、寄存器、接口等。因計算機運行所需資源都是在單個的晶片上,故微控制器又稱為單片機(single-chip computer)。
因微控制器軟體與硬體相關性很強,需與相應硬體支持來運行,在微控制上運行的軟體一般稱為固件。固件是被寫入非易失程序存儲器內的專用軟體。
處理器又稱為中央處理器(CPU,Central Processing Unit),有時也被稱為微處理器(MPU),處理器一般需要依賴外部的硬碟或存儲介質進行運行,系統資源豐富、複雜。是計算機、電腦、平板和手機等的核心。
根據處理性能的不同,運行的作業系統也有所不同。微控制器多運行實時作業系統(RTOS),對任務時間性要求比較高。處理器多運行Windows、Linux、Android、iOS等作業系統,對任務處理能力要求比較高的。
MCU產品
近些年,MCU產品性價比不斷提升,尤其是32位MCU,其運行主頻已達百兆級甚至高達1GHz,功能越來越強,資源配置也越來越豐富,編程也越來越複雜,需要RTOS來配置管理基礎資源和維護管理產品。RTOS可以應用到8位/16位/32位MCU產品上,但32位MCU產品將會是主流。MCU產品雙核多核產品增多,產品功能的複雜度越來越高。而MCU與CPU產品不再是涇渭分明,異構集成將是一個新的產品發展特點。MCU產品將會沿著摩爾定律之路繼續前行,會不斷湧現出新的產品,RTOS的路越來越寬廣。
RTOS
實時作業系統是指面向實時運行對象,並為其服務的作業系統,英文名稱為real-time operating system,簡寫為RTOS。面向MCU或微控制器的RTOS一般也稱為嵌入式實時作業系統(embedded real-time operating system)。RTOS是一種系統軟體,可以為應用程式提供服務並管理微控制器硬體資源,這些硬體資源包括內存、外設和中斷等。實時作業系統的主要目的是給需要執行的各種任務分配處理時間。
作業系統一般可分為:通用作業系統(OS)和實時作業系統(RTOS)兩大類。而實時作業系統(RTOS)根據其運行的處理器不同可以進一步分為:CPU RTOS和MCU RTOS兩類。
通用作業系統(OS)
作業系統:Windows、Linux、Mac OS…
CPU: x86、ARM…
實時作業系統(RTOS)
CPU RTOS
實時作業系統:THREADX、SylixOS、VxWorks…
PowerPC、MIPS、RISC-V、68K、ARM Cortex-A…
MCU RTOS
RT-Thread、FreeRTOS…
8051、PIC、Arm Cortex-M…
通用作業系統,如Windows、Linux、Mac OS,這類作業系統主要運行於x86和Arm等處理器。除x86和Arm處理器外,仍有很多的CPU也需要作業系統,如PowerPC、MIPS等,可以運行THREADX、SylixOS、VxWorks等實時作業系統。隨著微控制器(MCU)性能不斷地提升、價格不斷地下降,以及消費電子、物聯網等新興應用的發展,越來越多的MCU也開始用上了實時作業系統(RTOS)。
RTOS有時又被分為硬實時作業系統和軟實時作業系統:
硬實時作業系統是指必須使任務在確定的時間內完成
軟實時作業系統是指能讓絕大多數任務在確定時間內完成
RTOS主要應用
RTOS主要的應用有:航空航天、消費電子、物聯網、工業控制、汽車電子、網絡通信、醫療電子等。隨著物聯網的普及以及新的消費電子的發展,RTOS將會進入規模化部署階段。
Windows vs. RTOS
Windows是面向消費者的,RTOS是面向開發者的;Windows有著統一的處理器,在一臺電腦上編譯好的程序可以很方便地在另一臺計算機上運行,RTOS使用的是不同架構的處理器或微控制器,不能跨處理器或硬體運行,需要進行相應地移植。RTOS現階段難以像Windows一樣形成大一統的格局,差異化的應用需求仍然需要差異化的RTOS。
RTOS的主要角色
RTOS相關參與者的角色對RTOS的發展起到至關重要的作用。越來越多的MCU或MPU廠商通過RTOS或中間件推動產品的銷售,降低了客戶產品開發的難度,加快了新產品上市時間。在一些重要的應用,如航空航天、醫療等,高可靠性的商業RTOS仍然是非常重要的。開源的RTOS通過社區藉助其RTOS和中間件等產品豐富特性吸引開發者,並提供增值服務。設備終端製造商使用RTOS可以加速產品敏捷開發,加速產品快速迭代或上市。雲服務商通過提供RTOS可以為產品開發者提供更加便捷的雲端-終端連接,雲服務商憑藉其雲服務產品的市場影響力,大大推動了RTOS的應用。
物聯網RTOS
在物聯網的應用中,在終端和雲端之間,RTOS起著重要的「橋梁」作用。一般地,會在RTOS基礎上集成了一些物聯網需要的協議棧、中間件或組件,可以快速搭建起物聯網系統應用來。雲服務商提供RTOS可以讓用戶更快地開發,加速物聯網項目的落地。雲服務商的物聯網實時作業系統對RTOS市場有著重要的影響,畢竟物聯網終歸是要連接到雲上,而那正是雲服務商的優勢所在。Microsoft、Amozon、阿里、騰訊、華為等雲服務商加速發展物聯網,推出其RTOS也是順利成章的事。開源RTOS提供了靈活自由的配置,為各種不同的應用需求提供了可能的選擇,豐富的中間件或組件也吸引著眾多的開發者。
RTOS市場規模
2018年,在VDC Research發布的一份報告中提到,預計到2021年,物聯網和嵌入式OS(包括免費/非商業OS)的全球出貨量將增長到111億個。另,受限的設備上的免費和低成本作業系統以及資源豐富的嵌入式系統的免費開源Linux將會推動RTOS出貨量增長。
據ABI Research稱,物聯網正面臨新的計算挑戰,尤其是在部署和擴展方面,其未來將部分依賴於使用嵌入式RTOS。預計到2022年將有210億臺物聯網設備配備嵌入式RTOS。ABI Research研究主管Michela Menting表示:「物聯網的巨大發展重振了嵌入式RTOS市場,開源平臺的迅速發展對專用RTOS廠商產生了影響」。
另,據相關報導,embOS部署規模超過10億臺設備。Nucleus部署規模超30億臺。RT-thread部署規模超2億臺。而被微軟公司收購的Express Logic,其ThreadX RTOS部署了超過62億次。VxWORKS 全球已部署超過20億臺。
RTOS在物聯網應用中前景廣闊。據市場研究公司Gartner預測,2020年物聯網設備數量將達到204億。
RTOS中間件
RTOS嵌入式中間件是位於嵌入式系統軟體(嵌入式作業系統、嵌入式資料庫等)與應用程式之間的軟體。中間件擴展了RTOS功能,如同Windows上安裝了應用軟體一樣,大大豐富了RTOS的應用生態。開源中間件提供了很多的選擇,可以在應用中不斷發展和驗證並提升完善。安全可靠的中間件面向特定的應用領域中仍具有一定的商業價值。
結語
RTOS是運行在MCU/MPU之上,是實現機器智能基礎的系統軟體。在摩爾定律的推動下,MCU/MPU市場規模將會進一步增大,採用RTOS的比重會越來越高,畢竟泛在智能少不了一顆「智能」的芯。
在物聯網領域,RTOS會形成兩大主力:雲服務商提供的RTOS和開源社區支持的RTOS。他們都在構建和完善自己的生態圈子。不同RTOS之間的互兼容、互聯通,也是未來值得嘗試的方向。
RTOS對不同內核架構及新硬體特性的支持、發展更多的中間件或組件、平臺化、互聯互通、商業化是RTOS不斷發展的方向。