ucos iii学习笔记——为什么选择ucos iii
首先我們得先討論前后臺系統和RTOS(Real Time OS)的區別。前后臺系統,也即是我們所說的裸機程序,它的結構通常包括一個死循環和若干個中斷服務程序,直接上圖,我們有一個直觀認識:
假如Task2是一個延時任務,當程序執行到Task2時,CPU只能干等,這樣就浪費了CPU資源。進一步說,當在延時階段,某種特發情況需要Task4響應,此時系統無法得到實時響應,只能一直按順序執行下去,直到運行到Task4才能得到響應,可見前后臺系統的實時響應性較差。
那么RTOS呢?我們先看圖,了解它的運行機制
在實時操作系統中,我們可以把要實現的功能劃分為多個任務,每個任務負責實現其中的一部分,每個任務都是一個很簡單的程序,通常是一個死循環。
RTOS的內核負責管理所有的任務,內核決定了運行哪個任務,何時停止當前任務切換到其他任務,這個是內核的多任務管理能力。這就意味著,假設運行某任務里面的延時語句時,該任務就會被掛起,CPU根據內核機制運行另一個任務,這就充分利用了CPU資源。多任務管理給人的感覺就好像芯片有多個CPU,多任務管理實現了CPU資源的最大化利用,多任務管理有助于實現程序的模塊化開發,能夠實現復雜的實時應用。
說了這么多,那我們為何選擇使用ucos iii這個實時操作系統呢?因為ucos iii是一個開源、可裁剪、絕大部分由C語言編寫、可讀性強!更重要的一點是網上有很多關于ucos iii/ucos ii的資源,不像其他操作系統相對較少的學習資源。作為嵌入式初學者,ucos iii是一個很好的入門學習對象!
總結
以上是生活随笔為你收集整理的ucos iii学习笔记——为什么选择ucos iii的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 脚手架 - props
- 下一篇: openocd目录_OpenOCD的调试