操作系統-schedule函數


1. Linux 0.11的調度函數schedule()

  1. 也就是找到了counter最大的進程,然后就跳出去執行switch_to,對應上面的優先級算法,而counter本身也是時間片,也作了輪轉調度
  2. 現在就緒態的所有進程的時間片都用完了counter=0,右移+本身就是把counter設置成初值,而如果是其他進程,阻塞的那些進程就把counter除2再加上初值,這樣的話,當阻塞態進程變成就緒態的話,也就是那些IO進程成就緒態的話,它對應的counter一定大,優先級就高,那么就先執行,而且執行的時間也稍微長點

2. counter的作用:時間片

這是在時鍾中斷,每次時鍾中斷都讓counter=0,然后就開始切換

3. counter的作用:優先級

4. counter的作用

IO時間越長,counter越大?對應前面的第二點


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM