9.處理機調度與死鎖

一個批處理型的做業,從進入系統並駐留在外存的後備隊列上開始,直至做業運行完畢,可能要經歷的三級調度:算法

  • 高級調度

又稱做業調度、長程調度、接納調度性能

做用:把外存上處於後備隊列中的做業調入內存,併爲它們建立進程、分配資源、排在就緒隊列上,準備執行。隊列

分時系統、實時系統,一般不須要做業調度。進程

  • 中級調度

又稱中程調度。事件

目的:提升內存利用率和系統吞吐率。內存

做用:使暫時不能運行的進程從內存調至外存,進入就緒駐外存狀態或掛起狀態。把外存上又具有運行條件的就緒進程,從新掉入內存,並修改成就緒狀態,掛在就緒隊列上。資源

又稱對換。同步

  • 低級調度

也稱爲進程調度、短程調度。table

做用:決定就緒隊列中的哪一個進程應得到處理機,而後由分派程序執行把處理機分配給該進程的具體操做。配置

在OS中都必須配置。

進程調度的兩種調度方式

  • 非搶佔方式
  • 搶佔方式

非搶佔方式

一旦處理機分配給某進程後,便讓該進程一直執行,直至該進程完成或阻塞時,才把處理機分配給其餘進程。

非搶佔方式引發進程調度的因素

(1) 進程執行完畢,或因發生某種事件而不能繼續執行;

(2)執行中的進程因提出I/O請求而暫停執行

(3)在進程通訊或同步過程當中執行類某種原語操做,如P操做(WAIT操做)、BLOCK原語、WAKEUP原語等。

搶佔方式

容許暫停某個正在執行的進程,將已分配給該進程的處理機從新分配給另外一進程。

搶佔原則

(1)優先權原則。優先權高的進程搶佔處理機。

(2)短做業優先原則。短做業(進程)搶佔當前較長做業(進程)的處理機。

(3)時間片原則。各進程按時間片運行,當一個時間片用完後從新調度。

調度隊列模型

  • 僅有進程調度的調度隊列模型
  • 有高級和低級調度的調度隊列模型
  • 同時有三級調度的調度隊列模型

僅有進程調度的調度隊列模型

  • 一般,把就緒進程組織成FIFO隊列,每當建立新進程時排在就緒隊列的末尾,按時間片輪轉方式進行。

進程在執行時,出現三種狀況:

(1)任務在時間片內完成,進程便在釋放處理機後進入完成狀態。

(2)任務在時間片內未完成,OS便將該任務再放入就緒隊列的末尾。

(3)在執行期間,進程由於某事件而被阻塞後,被OS放入阻塞隊列。

有高級和低級調度的調度隊列模型

高級調度是做業調度

與前一模型的差異:

(1)就緒隊列的形式。批處理系統中最經常使用的是優先權隊列。也可採用無序鏈表方式。

(2)設置多個阻塞隊列。

有三級調度的調度隊列模型

  • 調出時,可以使進程狀態由內存就緒轉變爲外存就緒,由內存阻塞轉變爲外存阻塞。
  • 在中級調度使外存就緒轉變爲內存就緒。

選擇調度方式和調度算法的準則

  • 面向用戶的準則

(1)週轉時間短

(2)響應時間快

(3)截止時間的保證

(4)優先權準則

  • 面向系統的準則

(1)系統吞吐量高

(2)處理機利用率好

(3)資源的平衡利用

週轉時間

從做業被提交給系統開始,到做業完成爲止的這段時間間隔稱爲做業週轉時間。包括四部分時間:

  • 在外存後備隊列上等待調度的時間
  • 進程在就緒隊列上等待調度的時間
  • 進程在CPU上執行的時間
  • 進程等待i/O操做完成的時間

平均週轉時間

對n個做業來說,n個做業的週轉時間累加求和,除以n的結果就是平均週轉時間。

帶權週轉時間

W= T / Ts

T:做業的週轉時間

Ts:系統爲它提供服務的時間(真正運行時間,就是佔用處理機的時間)

平均帶權週轉時間

就是n個W求和併除以n

例子

有以下三道做業。系統爲它們服務的順序是:1,2,3.求平均週轉時間和平均帶權週轉時間。

做業 提交時間/h 運行時間/h
1 10.00 2
2 10.10 1
3 10.25 0.25

解答:

做業 提交時間 運行時間 開始時間 完成時間 週轉時間 帶權週轉時間
1 10.00 2 10 12 2 2/2
2 10.10 1 12 13 2.9 2.9 / 1
3 10.25 0.25 13 13.25 3 3 / 0.25

平均週轉時間:(2+2.9+3)/3=2.63h

平均帶權週轉時間:(1+2.9+12)/3=5.3h

響應時間

響應時間是從用戶經過鍵盤提交一個請求開始直至系統首次產生響應爲止的時間間隔。它包括三部分時間:

  • 從鍵盤輸入的請求信息傳送處處理機的時間
  • 處理機對請求信息進行處理的時間
  • 將響應信息回送到終端顯示器的時間

響應時間是分時系統中的重要原則。

截止時間是指某任務必須開始執行的最遲時間,或必須完成的最遲時間。

對於嚴格的實時系統,其調度方式和調度算法必須能保證這一點。

吞吐量

  • 吞吐量是指單位時間內系統所完成的做業數。
  • 評價批處理系統性能的重要指標。
  • 與做業的平均長度有關。對於大型做業,通常吞吐量約爲每小時一道做業。對於中、小型做業,其吞吐量可達到數十道做業。
相關文章
相關標籤/搜索