1. 程式人生 > >第三章 程序排程與死鎖

第三章 程序排程與死鎖

程序排程的功能

程序排程的功能由作業系統的程序程式來完成

按照某種策略和演算法從就緒態程序中為當前空閒的CPU選擇在其上執行的新程序

程序排程的功能是什麼?

按照某種策略和演算法從就緒態程序中選擇新程序執行。

需要程序排程的時機

1.程序正常或異常結束 程序阻塞 有更高優先順序程序到來,時間片用完時都會導致程序排程

程序排程的功能

按照某種策略和演算法從就緒態程序中為當前空閒的CPU選擇在其上執行的新程序

程序排程的時機

程序正常或異常結束,程序阻塞 有更高優先順序程序到來,時間片用完時,都會導致程序排程。

程序排程演算法

先來先服務的排程演算法 

短程序優先排程演算法

優先權排程演算法

時間片輪轉排程演算法

多級佇列排程演算法

多級反饋佇列排程演算法

什麼樣的演算法是好的演算法?

作業從提交給系統開始,到作業完成,話費時間短 週轉時間短

從使用者提交作業多開始 到系統開始響應,話費時間短

保證作業在開始截止時間前開始,在 完成截止時間前完成

系統在單位時間內完成的作業量多 

CPU的利用率儘可能高

1.週轉時間短 2.響應時間快 3.截止時間的保證 4.系統吞吐量高 5.處理機利用率好

什麼是時間輪轉排程演算法

系統將所有就緒程序按先來先服務的原則,排成一個佇列,每次排程時,把CPU分給隊首程序,

並令其執行一個時間片。當時間片用完時,排程程式終止當前程序的執行,並將它送到就緒佇列的隊尾。

多級佇列排程演算法

將就緒佇列分成多個獨立佇列,每個佇列有自己的排程演算法

多級反饋佇列排程演算法 

建立多個優先權不同的就緒佇列每個佇列有大小不同的時間片