μC/OS-II 介紹
μC /OS-II是一個完整的、可移植、可固化、可裁剪的占先式實時多任務內(nèi)核。μC/OS-II絕大部分的代碼是用ANSI的C語言編寫的,包含一小部分匯編代碼,使之可供不同架構的微處理器使用。至今,從8位到64位,μC/OS-II已在超過40種不同架構上的微處理器上運行。μC/OS-II已經(jīng)在世界范圍內(nèi)得到廣泛應用,包括很多領域, 如手機、路由器、集線器、不間斷電源、飛行器、醫(yī)療設備及工業(yè)控制上。實際上,μC/OS-II已經(jīng)通過了非常嚴格的測試,并且得到了美國航空管 理局(Federal Aviation Administration)的認證,可以用在飛行器上。這說明μC/OS-II是穩(wěn)定可靠的,可用于與人性命攸關的安全緊要(safety critical)系統(tǒng)。除此以外,μC/OS-II 的鮮明特點就是源碼公開,便于移植和維護。
μC/OS-II 內(nèi)核結構
多任務系統(tǒng)中,內(nèi)核負責管理各個任務,或者說為每個任務分配CPU 時間,并且負責任務之間的通訊。內(nèi)核提供的基本服務是任務切換。μC/OS-II可以管理多達64個任務。由于它的作者占用和保留了8個任務,所以留給用戶應用程序最多可有56個任務。賦予各個任務的優(yōu)先級必須是不相同的。這意味著μC/OS-II不支持時間片輪轉(zhuǎn)調(diào)度法(round-robin scheduli ng)。μC/OS-II為每個任務設置獨立的堆??臻g,可以快速實現(xiàn)任務切換 。μC/OS-II近似地每時每刻總是讓優(yōu)先級最高的就緒任務處于運行狀態(tài),為了保證這一點,它在調(diào)用系統(tǒng)API 函數(shù)、中斷結束、定時中斷結束時總是執(zhí)行調(diào)度算法,μC/OS-II通過事先計算好數(shù)據(jù)簡化了運算量,通過精心設計就緒表結構使得延時可預知。
一些重要的μC/OS-II API 介紹
任何一個操作系統(tǒng)都會提供大量的API供程序員使用,μC/OS-II 也不例外。由于μC/OS-II 面向的是嵌入式開發(fā),并不要求大而全,所以內(nèi)核提供的API也就大多和多任務息息相關。主要有以下幾類:
1)任務類
2)消息類
3)同步類
4)時間類
5)臨界區(qū)與事件類
對初級程序員而言,任務類和事件類是必須要首先掌握的兩種API。
內(nèi)容來自百科網(wǎng)