Linux程序排程

2021-08-31 14:58:23 字數 574 閱讀 2024

1、程序的兩種分類:

io_bound + cpu_bound

互動式 + 批處理 + 實時

2、排程策略和排程演算法:

排程策略:sched_normal + sched_fifo + sched_rr + sched_batch + sched_idle

排程演算法:

2.4:active + expire

2.6:非實時cfs + 實時優先順序佇列

cfs:sched_normal + sched_batch + sched_idle

rt:sched_fifo + sched_rr

3、優先順序:[0, 139]

實時:[0, 99]

nice:[-20, 19]

user_prio:[0, 39]

default_prio:[120]

4、schedule()呼叫時機

1、程序狀態轉換:例如呼叫sleep()、exit()

2、程序時間片用完:(歸根結底是時鐘中斷)

3、驅動程式首席執行官而重複的任務時,主動呼叫

4、程序從中斷、異常、系統呼叫返回到使用者態前

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 程序排程

linux程序優先順序 1.nice值 20 19 預設0 nice值越大,程序優先順序越低 2.實時優先順序 0 99 實時優先順序越高,程序優先順序越高 任何實時程序的優先順序都高於普通的程序,也就是說實時優先順序和nice優先順序處於互補相交的兩個範疇 linux預設的程序排程模型是時間迴圈共...