嵌入式操作系統μC/OS-II的特點

    早在上世紀六十年代,就已經有人開始研究和開發嵌入式操作系統。但直到最近,它纔在國內被越來越多的提及。其在通信、電子、自動化

等需要實時處理的領域所日益顯現的重要性吸引了人們越來越多的注意力。下面由卓躍教育爲您介紹。
  
  μC/OS-II是由Labrosse先生編寫的一個開放式的內核,它最主要的特點就是源碼公開的自由軟件。這一點對於用戶來說可謂利弊各半;好

處在於,一方面它是免費的;另一方面用戶可以根據自己的需要對它進行修改。壞處在於,它缺乏必要的支持。它沒有功能強大的軟件包,用

戶通常得自己編寫驅動程序,特別當用戶使用的是不太常用的單片機,還必須自己編寫移植程序。
  
  μC/OS-II特點
  
  (1)μC/OS-II是一個佔先式的內核,即已經準備就緒的高優先級任務可以剝奪正在運行的低優先級任務的CPU使用權。這個特點使得它的實

時性比非佔先式的內核要好。通常我們都是在中斷服務程序中使高優先級任務進入就緒態(例如發信號),這樣退出中斷服務程序後,將進行任

務切換,高優先級任務將被執行。但是因爲我們無法確定發生中斷時程序到底執行到了什麼地方,我們也就無法判斷要經過多長時間數據處理

程序纔會執行,中斷響應時間無法確定,系統的實時性不強。如果使用μC/OS-II的話,我們只要把數據處理程序的優先級設定的高一些,並在

中斷服務程序中使它進入就緒態,中斷結束後數據處理程序就會被立即執行。
  
  (2)μC/OS-II和我們所知道的Linux等分時操作系統不同,不支持時間片輪轉法。它是一個基於優先級的實時操作系統。每一個任務的優先

級必須不同(分析它的源碼會發現,mC/OS-II把任務的優先級當作任務的標識來使用,如果優先級相同,任務將無法區分)。進入就緒態的優先

級最高的任務首先得到CPU的使用權,只有等它交出CPU的使用權後,其他任務纔可以被執行。所以它只能說是多任務,不能說是多進程,至少

不是我們所熟悉的那種多進程。μC/OS-II的這種特性是好是壞,主要看從什麼角度來判斷。顯而易見,如果只考慮實時性,當然比分時系統好

,它可以保證重要任務總是優先佔有CPU。但是在系統中,重要任務畢竟是有限的,這就使得劃分其它任務的優先權變成了一個讓人費神的問題


  
    (3)μC/OS-II對共享資源提供了保護機制。μC/OS-II是一個支持多任務的嵌入式操作系統。我們可以把一個完整的程序劃分成幾個任務,

不同的任務執行不同的功能。對於共享資源(比如串口),μC/OS-II也提供了很好的解決辦法,一般情況下使用的是信號量方法。我們創建一個

信號量並對它進行初始化,當一個任務需要使用一個共享資源時,它必須先申請得到這個信號量。在這個過程中即使有優先權更高的任務進入

了就緒態,因爲無法得到信號量,也不能使用該資源。在μC/OS-II中稱爲優先級反轉。
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章