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 實...