1. 程式人生 > >作業系統μC/OS-II的特點

作業系統μC/OS-II的特點

(1)開源性

  與Linux一樣,μC/OS-II原始碼也是開放的,使用者可以直接登入μC/OS-II的官方網站下載,而且在網站 上有針對不同微處理器的移植程式碼,這極大地方便了實時嵌入式作業系統μC/OS-II的開發,降低了開發成本 。

  (2)可移植性

  在μC/OS-II的原始碼中,除了與微處理器硬體相關的部分採用組合語言編寫外,其他絕大部分都採用移植 性很強的ANSI C編寫,這樣可使μC/OS-U便於移植到多種處理器上。

  (3)可固化性

  μC/OS-II是一款嵌入式實時作業系統,只要具備合適的軟、硬體工具,就可以直接在作業系統中嵌入到產 品中,成為產品的一部分。

  (4)可裁減性

  使用者可根據自身的需求來實施對μC/OS-II的裁減工作。μC/OS-II使用條件編譯來裁減,使用者程式可只編譯自己需要的系統功能,減少μC/OS-II對程式碼空間的使用,最小核心可裁減至2KB。

  (5)可搶佔性

  μC/OS-II是完全可搶佔性的實時作業系統核心,每次都執行就緒條件下的優先順序最高的任務。

  (6)多工性

  μC/OS-II可管理64個任務,一般情況下,需要使用者預留8個任務給μC/OS-II。因此,留給使用者的任務最多 為56個。系統賦給每一個任務不同的優先順序,這樣,系統不支援時間片輪轉排程法。如圖1所示,給出了 μC/OS-II的任務狀態轉換圖。


圖1 μC/OS-II的任務狀態轉換圖

  (7)可確定性

  μC/OS-II的函式呼叫和服務的執行時間可確定性,μC/OS-II的系統服務時間與使用者應用程式任務數目的 多少無關,在任何時候使用者都能知道μC/OS-II的函式呼叫與服務的執行時間。

  (8)具有任務棧

  μC/OS-II的每一個任務都有自身獨立的堆疊。為了保證應用程式對RAM的需求,μC/OS-II具有棧空間檢 驗函式,這樣可方便地確定每個任務所需要的棧空間的大小。

  (9)中斷服務,支援巢狀

  中斷可使正在執行的任務暫時掛起。如果優先順序更高的任務被中斷喚醒,則高優先順序的任務在中斷巢狀全部 退出後立即執行。中斷巢狀可達255級。

uCOS-II 的體系結構:大概框架如下圖所示