實時內(nèi)核(Core)和實時操作系統(tǒng)(RTOS)有何不同?
一個實時內(nèi)核是管理微處理器(MPU)、微控制器(MCU)或數(shù)字信號處理器(DSP)的時間和資源的軟件,比如任務(wù)調(diào)度、信號量、隊列等資源,它為應用程序提供了不可或缺的服務(wù)。
一個實時操作系統(tǒng)(RTOS)通常包含實時內(nèi)核和其他高級服務(wù),如文件管理,協(xié)議棧,圖形用戶界面(GUI)和其他組件等,大多數(shù)其他服務(wù)都圍繞I / O設(shè)備。
拿μC/OS來說:Micriμm提供了一套完整的RTOS組件,包括嵌入式文件系統(tǒng),TCP / IP堆棧,圖形用戶界面,USB設(shè)備和主機堆棧等,你只需要選擇應用程序所需的組件即可。
同樣,RT-Thread操作系統(tǒng)也如此,除了內(nèi)核之外,還包含豐富的組件,如下圖:
從這種角度來劃分實時內(nèi)核和操作系統(tǒng),我們平時看到的眾多RTOS,只算一個內(nèi)核,報過之前很火的一個“微內(nèi)核”,也在這個范圍之內(nèi)。
二、實時操作系統(tǒng)RTOS
實時操作系統(tǒng)是保證在一定時間限制內(nèi)完成特定功能的操作系統(tǒng)。實時操作系統(tǒng)有硬實時和軟實時之分,硬實時要求在規(guī)定的時間內(nèi)必須完成操作,這是在操作系統(tǒng)設(shè)計時保證的;軟實時則只要按照任務(wù)的優(yōu)先級,盡可能快地完成操作即可。我們通常使用的操作系統(tǒng)在經(jīng)過一定改變之后就可以變成實時操作系統(tǒng)。
隨著技術(shù)的進步,實時操作系統(tǒng)的定義也隨之變化。以前重點描述的是內(nèi)核及相關(guān)資源。,現(xiàn)在重點是內(nèi)核配套的組件。
就好比:以前寫程序會注重考慮資源大小,現(xiàn)在處理器速度更快、資源更多,就會注重考慮代碼復用率和維護性。
三、選擇和學習RTOS
對于初學者來說,選擇市面上使用率較多的RTOS來學習就行了,目前μC/OS、RT-Thread、FreeRTOS算是比較大眾一點的RTOS,資源及配套的組件都有很多。
隨著μC/OS的免費開源,目前μC/OS、RT-Thread、FreeRTOS都是一個不錯的選擇。
1.μC/OS使用Apache 2.0開源許可
地址:
https://www.micrium.com/rtos/licensing
2.RT-Thread 遵循 GPL V2 + 開源許可協(xié)議
RT-Thread 系統(tǒng)完全開源,3.1.0 及以前的版本遵循 GPL V2 + 開源許可協(xié)議。從 3.1.0 以后的版本遵循 Apache License 2.0 開源許可協(xié)議,可以免費在商業(yè)產(chǎn)品中使用,并且不需要公開私有代碼。
地址:
https://www.rt-thread.org/document/site/tutorial/quick-start/introduction/introduction/
3.FreeRTOS使用MIT開源協(xié)議
地址:
https://www.freertos.org/a00114.html
免責聲明:本文來源網(wǎng)絡(luò),版權(quán)歸原作者所有。如涉及作品版權(quán)問題,請與我聯(lián)系刪除。
長按前往圖中包含的公眾號關(guān)注
免責聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺僅提供信息存儲服務(wù)。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!