【作業系統】--處理器排程

ZeroWM發表於2016-04-18

一、為什麼處理器有兩級排程?


輸入井:

磁碟上用來存放作業資訊的專用區域成為輸入井。

後備作業:

輸入井中等待處理的作業稱為後備作業。


為啥會出現作業排程呢?

因為需要從輸入井中選取後備作業裝入主儲存器,但是有多個作業,就必須制定一定的規則和確定允許並行的工作的道數,因此出現了作業排程。

為啥有程式排程呢?

當作業排程選取一個作業,進入主儲存器中後,就為該使用者建立一個程式。但是在單處理器的計算機系統中,每一時刻只能讓一個程式佔用處理器。如果有多個程式佔用處理器,就必須制定一定的規則讓每個作業都有機會進入程式中,因此就有了程式排程。

總之,先被作業排程選中才有機會去競爭處理器,並且僅當被程式排程選中時才能佔用處理器。


下面是批處理系統,作業排程與程式排程的層次關係:

二、作業排程演算法

設計原則:

1.公平性    2.平衡資源使用   3.極大流量

具體演算法:

1.先來先服務

1)先進入的作業優先被選中

2)滿足條件才被選中

優點:簡單

缺點:有可能讓小作業長時間等待。

2.計算時間短作業優先

1)排程依據作業在輸入井中的計算時間為標準。

優點:降低作業的平均週轉時間,從而提高系統的吞吐能力。

3.響應比高者優先

1)響應比=等待時間/計算時間

優點:計算時間少的小作業,等待時間久的大作業都容易被選中。

4.優先順序排程演算法

優點:設定優先順序別,先執行。

5.均衡排程演算法

優點:儘可能的使得不同資源的作業同時執行。


三、程式排程演算法

先來先服務、最高優先順序、時間片輪轉(允許程式一次佔用處理器的最長時間)。


相關文章