程序的三狀態及程序排程演算法演算法
阿新 • • 發佈:2020-07-19
程序的三狀態及程序排程演算法演算法
在瞭解其他概念之前,我們首先要了解程序的幾個狀態。在程式執行的過程中,由於被作業系統的排程演算法控制,程式會進入幾個狀態:就緒,執行和阻塞。
(1)就緒(Ready)狀態
當程序已分配到除CPU以外的所有必要的資源,只要獲得處理機便可立即執行,這時的程序狀態稱為就緒狀態。
(2)執行/執行(Running)狀態當程序已獲得處理機,其程式正在處理機上執行,此時的程序狀態稱為執行狀態。
(3)阻塞(Blocked)狀態正在執行的程序,由於等待某個事件發生而無法執行時,便放棄處理機而處於阻塞狀態。引起程序阻塞的事件可有多種,例如,等待I/O完成、申請緩衝區不能滿足、等待信件(訊號)等。
程序的排程演算法----
給所有的程序分配資源或者分配CPU使用權的一種方法
多級反饋演算法:
# 多個任務佇列,優先順序從高到低
# 新來的任務總是優先順序最高的
# 每一個新任務幾乎會立即獲得一個時間片時間
# 執行完一個時間片之後就會降到下一級佇列中
# 總是優先順序高的任務都執行完才執行優先順序低的佇列
# 並且優先順序越高時間片越短