Linux的fifo策略,linux進程/線程調度策略(SCHED_OTHER,SCHED_FIFO,SCHED_RR)

linux內核的三種 調度策略 :

SCHED_OTHER 分時調度策略,(默認的)

SCHED_FIFO實時調度策略,先到先服務

SCHED_RR實時調度策略,時間片輪轉

實時進程將得到優先調用,實時進程根據實時優先級決定調度權值,分時進程則通過nice和counter值決定權值,nice越小,counter越大,被調度的概率越大,也就是曾經使用了cpu最少的進程將會得到優先調度。

SHCED_RR和SCHED_FIFO的不同:

當采用SHCED_RR策略的進程的時間片用完,系統將重新分配時間片,並置於就緒隊列尾。放在隊列尾保證了所有具有相同優先級的RR任務的調度公平。

SCHED_FIFO一旦占用cpu則一直運行。一直運行直到有

更高優先級任務到達或自己放棄 。

如果有相同優先級的實時進程(根據優先級計算的調度權值是一樣的)已經准備好,FIFO時必須等待該進程主動放棄后才可以運行這個優先級相同的任務。而RR可以讓每個任務都執行一段時間。

相同點:

RR和FIFO都只用於實時任務。

創建時優先級大於0(1-99)。

按照可搶占優先級調度算法進行。

就緒態的實時任務立即搶占非實時任務。

當所有任務都采用分時調度策略時(SCHED_OTHER):

1.創建任務指定采用分時調度策略,並指定優先級nice值(-20~19)。

2.將根據每個任務的nice值確定在cpu上的執行時間( counter )。

3.如果沒有等待資源,則將該任務加入到就緒隊列中。

4.調度程序遍歷就緒隊列中的任務,通過對每個任務動態

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值