欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

詳解Linux進(jìn)程調(diào)度策略

 更新時(shí)間:2017年11月27日 16:34:07   投稿:laozhang  
這篇文章主要介紹了詳解Linux進(jìn)程調(diào)度策略,以及代碼實(shí)現(xiàn)中重要環(huán)節(jié)的指點(diǎn),一起來(lái)學(xué)習(xí)下。

本文通過(guò)Linux進(jìn)程調(diào)度的5類方式詳細(xì)分析了策略以及實(shí)現(xiàn)過(guò)程中的詳細(xì)講解。

1、Linux 下進(jìn)程分為5種類別,分別是停止類、截止類、實(shí)時(shí)類、公平類、空閑類,

每種類別都有一個(gè)運(yùn)行隊(duì)列,每次調(diào)度時(shí),就是先按照類別優(yōu)先級(jí)排序,再按照每個(gè)類別內(nèi)的最高優(yōu)先級(jí)任務(wù)調(diào)度運(yùn)行。

  

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

    

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

2、調(diào)度程序schedule()的調(diào)用次序。

schedule() --- > __schedule () --- > pick_next_task() 

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

   

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

相關(guān)文章

最新評(píng)論