程序的主動排程與搶占式排程

2021-10-03 09:46:54 字數 450 閱讀 9368

四、總結

上下文切換主要幹下面兩件事,是通過context_switch函式實現的:

static __always_inline struct rq *

context_switch

(struct rq *rq,

struct task_struct *prev,

struct task_struct *next,

struct rq_flags *rf)

關於程序切換的小總結:

主動排程指是某程序主動呼叫了schedule函式,那麼下面是一些發生搶占式排程的時機:

1.使用者態搶占時機

2.核心態搶占時機

搶占式排程與非搶占式排程

資料 這是本人在作業系統期中考試前複習是碰到的問題,花了一些時間解決,現在記錄下來。在學習 cpu 排程的時候,關於搶占式 非搶占式排程方式有不理解的地方,想不到google一下就出來了很好的解釋,看來還是要多搜尋多思考。cpu 排程決策可以在如下四種環境下發生 對於第1和第4兩種情況,沒有選擇只有...

搶占程序排程的原則

1 時間片原則 各程序按系統分配給的乙個時間片執行,當該時間片用完或由於該程序等待某事件發生而被阻塞時,系統就停止該程序的執行而重新進行排程。2 優先順序原則 每個程序均賦於乙個排程優先順序,通常一些重要和緊急的程序賦於較高的優先順序。當乙個新的緊迫程序到達時,或者乙個優先順序高的程序從阻塞狀態變成...

執行緒的搶占式和非搶占式排程

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