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

μC/OS-II

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

  μC/OS-II 介紹

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

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

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

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

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

  1)任務(wù)類(lèi)

  2)消息類(lèi)

  3)同步類(lèi)

  4)時(shí)間類(lèi)

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

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


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