ucosiii系統相關概念

2022-06-23 23:21:15 字數 982 閱讀 8989

時間片的概念:

空閒任務與阻塞延時:

rtos 中的延時叫阻塞延時,即任務需要延時的時候,任務會放棄 cpu的使用權,cpu可以去幹其它的事情,當任務延時時間到,重新獲取 cpu使用權,任務繼續執行,這樣就充分地利用了 cpu的資源,而不是乾等著。

當任務需要延時,進入阻塞狀態,那 cpu 又去幹什麼事情了?如果沒有其它任務可以執行,rtos 都會為 cpu 建立一個空閒任務,這個時候 cpu 就執行空閒任務。

空閒任務的優先順序是最低的,主要是做一些系統記憶體的清理工作。空閒任務是系統在【啟動排程器】的時候建立的,而不是在主函式一開始,和任務函式一起建立,這點要比較注意。

時間戳:

時間測量的功能 ,知道了某段**的執行時間,就明顯地知道該**的執行效率,如果

時間過長就可以優化或者調整**策略。 

那麼可以在**

段 a 執行前記錄一個時間點 timestart,在**段 a 執行完記錄一個時間點 timeend,那

麼**段 a 的執行時間 timeuse 就等於 timeend 減去 timestart。這裡面的兩個時間點

timeend 和 timestart,就叫做時間戳,時間戳實際上就是一個時間點。

臨界段:

每個程序中訪問臨界資源的那段程式稱為臨界區(臨界資源是一次僅允許一個程序使用的共享資源)。每次只准許一個程序進入臨界區,進入後不允許其他程序進入。

程序進入臨界區的排程原則是:

①如果有若干程序要求進入空閒的臨界區,一次僅允許一個程序進入。②任何時候,處於臨界區內的程序不可多於一個。如已有程序進入自己的臨界區,則其它所有試圖進入臨界區的程序必須等待。③進入臨界區的程序要在有限時間內退出,以便其它程序能及時進入自己的臨界區。④如果程序不能進入自己的臨界區,則應讓出cpu,避免程序出現“忙等”現象。