1. 程式人生 > >ucos源碼讀後總結

ucos源碼讀後總結

占用 cpu lag 支持 大型網站 處理器 深入 以及 lac

轉載請註明原文出處,http://www.cnblogs.com/flyingcloude/p/6992351.html

花了將近一個星期的時間將ucos的源碼大致的通讀了一遍,在這裏先進行總結一下,以便以後繼續深入學習。

(1)ucos的源碼結構:

與處理器類型無關的代碼:OS_CORE.C

              OS_FLAG.C

              OS_MBOX.C

              OS_MEM.C

              OS_MUTEX.C

              OS_Q.C

              OS_SEM.C

              OS_TIME.C

              uC/OS-II.C

              uC/OS-II.H

uC/OS的配置文件(與應用程序有關)

              OS_CFG.H

              INCLUDES.H

與處理器類型有關的代碼

              OS_CPU.H

              OS_CPU_A.ASM

              OS_CPU_C.C

(2)ucos的特點

多任務,最多可以支持64個任務,但是每個任務的優先級必須不一樣,而且有兩個任務已經被系統占用。

內核可剝奪,當就緒任務隊列中有高優先級的任務到達時,當前運行的任務讓出CPU使用權。

(3)ucos的程序架構

系統的啟動以及運行過程:

        先進行系統初始化OSInit();

        然後進行創建任務等工作。

        最後運行OSStart(),在OSStart()運行時,系統運行任務優先級最高的任務。

在系統運行時,任務跟任務之間的通信可以使用“信號量”、“郵箱”、“消息隊列”進行通信。

任務在運行的時候,當遇到阻塞時,會進行一次OS_Sched(),當所有的用戶任務都不需要執行時,系統開始執行系統自帶的空閑任務,當有任務就緒時再重新開始執行。然後外部定時器驅動OSTimeTick函數,進行對任務的狀態進行管理。

轉載請註明原文出處,http://www.cnblogs.com/flyingcloude/p/6992351.html

ucos源碼讀後總結