當(dāng)前位置:首頁 > 百科知識 > 電子工程 > 正文

μC/OS-II

μC/OS-II 是一種基于優(yōu)先級的搶占式多任務(wù)實時操作系統(tǒng),包含了實時內(nèi)核、任務(wù)管理、時間管理、任務(wù)間通信同步(信號量,郵箱,消息 隊列)和內(nèi)存管理等功能。它可以使各個任務(wù)獨立工作,互不干涉,很容易實現(xiàn)準(zhǔn)時而且無誤執(zhí)行,使實時應(yīng)用程序的設(shè)計和擴(kuò)展變得容易,使應(yīng)用程序的設(shè)計過程大為減化。

  μC/OS-II 介紹

  μC /OS-II是一個完整的、可移植、可固化、可裁剪的占先式實時多任務(wù)內(nèi)核。μC/OS-II絕大部分的代碼是用ANSI的C語言編寫的,包含一小部分匯編代碼,使之可供不同架構(gòu)的微處理器使用。至今,從8位到64位,μC/OS-II已在超過40種不同架構(gòu)上的微處理器上運行。μC/OS-II已經(jīng)在世界范圍內(nèi)得到廣泛應(yīng)用,包括很多領(lǐng)域, 如手機(jī)、路由器、集線器、不間斷電源、飛行器、醫(yī)療設(shè)備及工業(yè)控制上。實際上,μC/OS-II已經(jīng)通過了非常嚴(yán)格的測試,并且得到了美國航空管 理局(Federal Aviation Administration)的認(rèn)證,可以用在飛行器上。這說明μC/OS-II是穩(wěn)定可靠的,可用于與人性命攸關(guān)的安全緊要(safety critical)系統(tǒng)。除此以外,μC/OS-II 的鮮明特點就是源碼公開,便于移植和維護(hù)。

  μC/OS-II 內(nèi)核結(jié)構(gòu)

  多任務(wù)系統(tǒng)中,內(nèi)核負(fù)責(zé)管理各個任務(wù),或者說為每個任務(wù)分配CPU 時間,并且負(fù)責(zé)任務(wù)之間的通訊。內(nèi)核提供的基本服務(wù)是任務(wù)切換。μC/OS-II可以管理多達(dá)64個任務(wù)。由于它的作者占用和保留了8個任務(wù),所以留給用戶應(yīng)用程序最多可有56個任務(wù)。賦予各個任務(wù)的優(yōu)先級必須是不相同的。這意味著μC/OS-II不支持時間片輪轉(zhuǎn)調(diào)度法(round-robin scheduli ng)。μC/OS-II為每個任務(wù)設(shè)置獨立的堆??臻g,可以快速實現(xiàn)任務(wù)切換 。μC/OS-II近似地每時每刻總是讓優(yōu)先級最高的就緒任務(wù)處于運行狀態(tài),為了保證這一點,它在調(diào)用系統(tǒng)API 函數(shù)、中斷結(jié)束、定時中斷結(jié)束時總是執(zhí)行調(diào)度算法,μC/OS-II通過事先計算好數(shù)據(jù)簡化了運算量,通過精心設(shè)計就緒表結(jié)構(gòu)使得延時可預(yù)知。

  一些重要的μC/OS-II API 介紹

  任何一個操作系統(tǒng)都會提供大量的API供程序員使用,μC/OS-II 也不例外。由于μC/OS-II 面向的是嵌入式開發(fā),并不要求大而全,所以內(nèi)核提供的API也就大多和多任務(wù)息息相關(guān)。主要有以下幾類:

  1)任務(wù)類

  2)消息類

  3)同步類

  4)時間類

  5)臨界區(qū)與事件類

  對初級程序員而言,任務(wù)類和事件類是必須要首先掌握的兩種API。
 


內(nèi)容來自百科網(wǎng)