1. 程式人生 > 實用技巧 >程序的三狀態及程序排程演算法演算法

程序的三狀態及程序排程演算法演算法

程序的三狀態及程序排程演算法演算法

在瞭解其他概念之前,我們首先要了解程序的幾個狀態。在程式執行的過程中,由於被作業系統的排程演算法控制,程式會進入幾個狀態:就緒,執行和阻塞。

  (1)就緒(Ready)狀態

  當程序已分配到除CPU以外的所有必要的資源,只要獲得處理機便可立即執行,這時的程序狀態稱為就緒狀態。

  (2)執行/執行(Running)狀態當程序已獲得處理機,其程式正在處理機上執行,此時的程序狀態稱為執行狀態。

  (3)阻塞(Blocked)狀態正在執行的程序,由於等待某個事件發生而無法執行時,便放棄處理機而處於阻塞狀態。引起程序阻塞的事件可有多種,例如,等待I/O完成、申請緩衝區不能滿足、等待信件(訊號)等。

程序的排程演算法----

​ 給所有的程序分配資源或者分配CPU使用權的一種方法

多級反饋演算法:

    #     多個任務佇列,優先順序從高到低
    #     新來的任務總是優先順序最高的
    #     每一個新任務幾乎會立即獲得一個時間片時間
    #     執行完一個時間片之後就會降到下一級佇列中
    #     總是優先順序高的任務都執行完才執行優先順序低的佇列
    #     並且優先順序越高時間片越短