關於進程調度的思考

近日,我一直在看Linux0.11內核源代碼,儘管還沒有學習操作系統的相關知識,但我很感興趣,於是自己下來看了看這方面的書籍。當我瞭解到386的保護模式的相關知識時,感覺386的設計很不錯,它在多任務方面有着出色的表現。

在任務切換這一方面,我看到Linux0.11是通過時間中斷來調度任務輪流運行的。但是如果一個任務是一個死循環,並且浪費着CPU的時間。如果終止該任務,其實死循環也可能是爲了接受某個消息而設計的,所以不能終止長時間死循環的程序。因此我在想能否通過判斷跳轉指令的頻度來實現判斷該任務的優先級,假如一個任務的跳轉指令過多,這也就意味着這個任務並沒有進行實際的計算。要是處理器能夠給出任務的跳轉指令執行的頻度,這對操作系統的調度應該是有幫助的。有些任務並不需要過多CPU時間,他們一般是閒置的,因此在等待io等耗時的操作時使它進入睡眠是不錯的。無論如何,計算機總有我不太滿意的地方,學會編寫程序則是讓這種不滿足感降低,這樣我們才能更好的控制計算機工作。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章