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是一個很好的入門學習物件! 資料來源: https://www.itread01.com/content/1547658388.html