1. Linux 0.11的調度函數schedule()
- 也就是找到了counter最大的進程,然后就跳出去執行switch_to,對應上面的優先級算法,而counter本身也是時間片,也作了輪轉調度
- 現在就緒態的所有進程的時間片都用完了counter=0,右移+本身就是把counter設置成初值,而如果是其他進程,阻塞的那些進程就把counter除2再加上初值,這樣的話,當阻塞態進程變成就緒態的話,也就是那些IO進程成就緒態的話,它對應的counter一定大,優先級就高,那么就先執行,而且執行的時間也稍微長點
2. counter的作用:時間片
這是在時鍾中斷,每次時鍾中斷都讓counter=0,然后就開始切換
3. counter的作用:優先級
4. counter的作用
IO時間越長,counter越大?對應前面的第二點