RTX排程方式

2021-09-29 08:51:58 字數 1262 閱讀 8562

每個任務都有不同的優先順序,任務會一直執行直到被高優先順序任務搶占或者遇到阻塞式的 api 函式,比如os_dly_wait

在 rtx 的配置嚮導中禁止使用時間片排程,那麼每個任務必須配置不同的優先順序。

當 rtx多工啟動執行後:

首先執行的最高優先順序的任務 task1,task1 會一直執行直到遇到系統阻塞式的 api 函式,比如延遲,事件標誌等待,訊號量等待,task1 任務會被掛起,也就是釋放 cpu 的執行權,讓低優先順序的任務得到執行。

task1 延遲時間到,接收到訊號量訊息等方面的原因,在搶占式排程器的作用下,task2 的執行會被 task1 搶占。

task2 會一直執行直到遇到系統阻塞式的 api 函式,比如延遲,事件標誌等待,訊號量等待,task2任務會被掛起,繼而執行就緒列表中下乙個最高優先順序的任務。

如果使用者建立了多個任務並且採用搶占式排程器的話,基本都是按照上面兩條來執行。根據搶占式排程器,當前的任務要麼被高優先順序任務搶占,要麼通過呼叫阻塞式 api 來釋放 cpu 使用權讓低優先順序任務執行,沒有使用者任務執行時就執行空閒任務。

每個任務都有相同的優先順序,任務會執行固定的時間片個數直到遇到系統阻塞式的 api 函式,比如os_dly_wait

在小型的嵌入式 rtos 中,最常用的的時間片排程演算法就是 round-robin 排程演算法。這種排程演算法可以用於搶占式或者合作式的多工中,時間片排程適合用於不要求任務實時響應的情況下。

實現 round-robin 排程演算法需要給同優先順序的任務分配乙個專門的列表,用於記錄當前就緒的任務,並為每個任務分配乙個時間片(也就是需要執行的時間長度,時間片用完了就進行任務切換)。

每個任務都有相同的優先順序,而且時間片排程要被禁止。任務會一直的執行直到遇到阻塞式的 api 函式,比如os_dly_wait或者使用者呼叫函式os_tsk_pass

對於同優先順序的任務,如果使用者將 rtx 系統配置嚮導中時間片排程關閉後,這些同優先順序的任務就是在合作式排程器的作用下執行。其表現出來的效果就是這些同優先順序的任務會依次執行,每個任務會一直執行直到遇到阻塞式 api 函式或者函式os_tsk_pass ()就會切換到下個任務,這就是 rtx 中所說的合作式排程器。

程序排程方式

批處理作業的四種狀態 1 提交狀態 程式設計師把已儲存作業實體的某種介質,例如,卡片 紙帶 軟盤等,提交給機房後或使用者通過終端鍵盤向計算機鍵入其作業時所處的狀態,稱為提交狀態。2 後備狀態 系統操作員把載有作業實體的某種介質,放在相應的輸入裝置上,並轉儲到計算機系統硬碟的輸入井 相應的磁碟區域專門...

程序排程方式

程序排程屬於低階排程,用來決定就緒佇列中的那個程序獲取處理器,然後有分派程式將執行把處理器分派給該程序的具體操作。程序排程的方式有兩個非搶占式排程和搶占式排程 1 非搶占方式 non preemptive mode 1 概念 當某一程序正在處理機上執行時,即使有某個更為重要或緊迫的程序進入就緒佇列,...

執行緒的排程方式

在乙個程序裡,執行緒的排程有搶占式和非搶占式的模式。在搶占模式下,作業系統負責分配cpu時間給各個程序,一旦當前的程序使用完分配給自己的cpu時間,作業系統將決定下乙個占用cpu時間的是哪乙個執行緒。因此作業系統將定期的中斷當前正在執行的執行緒,將cpu分配給在等待佇列的下乙個執行緒。所以任何乙個執...