linux 程序排程

2021-07-11 00:17:39 字數 672 閱讀 1093

linux程序優先順序

1. nice值 -20 ~ 19 預設0

nice值越大,程序優先順序越低

2. 實時優先順序  0 ~ 99

實時優先順序越高,程序優先順序越高

任何實時程序的優先順序都高於普通的程序,也就是說實時優先順序和nice優先順序處於互補相交的兩個範疇

linux預設的程序排程模型是時間迴圈共享 sched_other

1.每個程序輪流使用cpu一段時間(時間片),滿足了公平性和響應度(乙個程序使用cpu前無需等待太長的時間)

2.nice值允許程序間接地影響核心的排程演算法,程序的排程不是嚴格按照nice值的層次進行,nice高的程序,不會無法用到cpu,只是使用cpu的時間變少,即權重減少了

實時程序排程策略

1.實時應用要求能快速地獲取cpu的控制權,搶占當前所有的程序

2. 一般有兩種策略 sched_rr和sched_fifo

sched_rr的程序和sched_fifo的程序如果優先順序一樣?  先入佇列的先處理

sched_rr:

1.高優先順序的先執行,直到1)時間片到了2)自行退出3)被終止4)被高優先順序的程序搶占了

2.同一優先順序的程序,按照時間片輪詢

sched_fifo:

嚴格按照優先順序執行,高優先順序程序先執行,直到退出或者有更高優先順序的程序搶占才退出

linux程序排程

排程 從就緒的程序選出最適合的乙個來執行。知識點 1 排程策略 2 排程時機 3 排程步驟 排程策略 sched normal sched other 普通的分時程序 sched fifo 先入先出的實時程序 sched rr 時間片輪轉的實時程序 sched batch 批處理程序 sched i...

linux程序排程

搶占就是程序排程,使用者程序搶占發生在以下情況 1 從系統呼叫返回使用者空間的時候 2 從中斷處理程式返回使用者空間時。在時鐘中斷中會呼叫scheduler tick 函式,該函式在程序時間片用完的時候會設定need resched標誌,當從時鐘中斷或者其他中斷返回後檢查need resched,核...

Linux程序排程

1 程序的兩種分類 io bound cpu bound 互動式 批處理 實時 2 排程策略和排程演算法 排程策略 sched normal sched fifo sched rr sched batch sched idle 排程演算法 2.4 active expire 2.6 非實時cfs 實...