詳解Linux進程調度策略
本文通過Linux進程調度的5類方式詳細分析了策略以及實現(xiàn)過程中的詳細講解。
1、Linux 下進程分為5種類別,分別是停止類、截止類、實時類、公平類、空閑類,
每種類別都有一個運行隊列,每次調度時,就是先按照類別優(yōu)先級排序,再按照每個類別內的最高優(yōu)先級任務調度運行。

文件:core.c (linux-4.6\kernel\sched)

解讀:先看下面的for循環(huán),可以看到實現(xiàn)思路是,遍歷每種類別,選擇下一個可運行的任務。由于大部分任務都屬于公平隊列,所以,絕大部分情況下,都在公平隊列中進行選擇,所以,內核開發(fā)者在上面的代碼中加了likely()提高性能。






2、調度程序schedule()的調用次序。
schedule() --- >__schedule ()--- > pick_next_task()
文件:core.c (linux-4.6\kernel\sched)


。。。。。。(中間有省略)

版權聲明:本站文章來源標注為YINGSOO的內容版權均為本站所有,歡迎引用、轉載,請保持原文完整并注明來源及原文鏈接。禁止復制或仿造本網(wǎng)站,禁止在非maisonbaluchon.cn所屬的服務器上建立鏡像,否則將依法追究法律責任。本站部分內容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學習參考,不代表本站立場,如有內容涉嫌侵權,請聯(lián)系alex-e#qq.com處理。
關注官方微信