admin 發表於 2023-5-14 02:02:54

6 Passive resources 與 Active resources


[*]Passive resources
在實時作業系統(RTOS)中,"passive resources"通常指的是一種不主動運行,但可以被任務使用的資源。這些資源不會主動產生事件或中斷,也不會改變其狀態,除非有任務主動使用它們。

當一個任務正在使用被動資源時,該任務會在CPU上忙碌。換句話說,該任務不會因為等待被動資源而暫停在CPU上。這是因為被動資源一直都是可用的,除非有其他任務正在使用它們。

例如,使用信號量(semaphore)保護的數據結構就是一種典型的被動資源。當一個任務需要訪問這種數據結構時,它首先需要獲得相應的信號量。如果信號量當前可用(也就是說,沒有其他任務正在使用該數據結構),那麼該任務可以立即獲得信號量並開始訪問數據結構。在這個過程中,該任務會一直在CPU上運行,直到它完成對數據結構的訪問並釋放信號量。



[*]Active resources
在實時作業系統(RTOS)中,"active resources" 通常指的是能夠主動運行並可能影響任務調度的資源。這些資源可以主動產生事件或中斷,並可能會在沒有任務主動使用它們的情況下改變其狀態。

當一個任務正在使用主動資源時,該任務可能需要在CPU上暫停。這是因為主動資源可能需要一些時間來完成其操作,而在這段時間內,該任務可能無法繼續執行。例如,當一個任務正在等待一個I/O設備(如硬盤或網絡接口)完成其操作時,該任務可能需要在CPU上暫停。

主動資源可以被視為被動資源,但這可能會導致CPU利用率的降低。這是因為當一個任務正在等待一個主動資源時,CPU可能無法被其他任務充分利用。然而,如果我們將主動資源視為被動資源,那麼當一個任務正在等待主動資源時,調度器可以選擇執行其他任務,從而提高CPU的利用率。

頁: [1]
查看完整版本: 6 Passive resources 與 Active resources