一個批處理型的做業,從進入系統並駐留在外存的後備隊列上開始,直至做業運行完畢,可能要經歷的三級調度:算法
又稱做業調度、長程調度、接納調度性能
做用:把外存上處於後備隊列中的做業調入內存,併爲它們建立進程、分配資源、排在就緒隊列上,準備執行。隊列
分時系統、實時系統,一般不須要做業調度。進程
又稱中程調度。事件
目的:提升內存利用率和系統吞吐率。內存
做用:使暫時不能運行的進程從內存調至外存,進入就緒駐外存狀態或掛起狀態。把外存上又具有運行條件的就緒進程,從新掉入內存,並修改成就緒狀態,掛在就緒隊列上。資源
又稱對換。同步
也稱爲進程調度、短程調度。table
做用:決定就緒隊列中的哪一個進程應得到處理機,而後由分派程序執行把處理機分配給該進程的具體操做。配置
在OS中都必須配置。
一旦處理機分配給某進程後,便讓該進程一直執行,直至該進程完成或阻塞時,才把處理機分配給其餘進程。
(1) 進程執行完畢,或因發生某種事件而不能繼續執行;
(2)執行中的進程因提出I/O請求而暫停執行
(3)在進程通訊或同步過程當中執行類某種原語操做,如P操做(WAIT操做)、BLOCK原語、WAKEUP原語等。
容許暫停某個正在執行的進程,將已分配給該進程的處理機從新分配給另外一進程。
(1)優先權原則。優先權高的進程搶佔處理機。
(2)短做業優先原則。短做業(進程)搶佔當前較長做業(進程)的處理機。
(3)時間片原則。各進程按時間片運行,當一個時間片用完後從新調度。
進程在執行時,出現三種狀況:
(1)任務在時間片內完成,進程便在釋放處理機後進入完成狀態。
(2)任務在時間片內未完成,OS便將該任務再放入就緒隊列的末尾。
(3)在執行期間,進程由於某事件而被阻塞後,被OS放入阻塞隊列。
高級調度是做業調度
與前一模型的差異:
(1)就緒隊列的形式。批處理系統中最經常使用的是優先權隊列。也可採用無序鏈表方式。
(2)設置多個阻塞隊列。
(1)週轉時間短
(2)響應時間快
(3)截止時間的保證
(4)優先權準則
(1)系統吞吐量高
(2)處理機利用率好
(3)資源的平衡利用
從做業被提交給系統開始,到做業完成爲止的這段時間間隔稱爲做業週轉時間。包括四部分時間:
對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
響應時間是從用戶經過鍵盤提交一個請求開始直至系統首次產生響應爲止的時間間隔。它包括三部分時間:
響應時間是分時系統中的重要原則。
截止時間是指某任務必須開始執行的最遲時間,或必須完成的最遲時間。
對於嚴格的實時系統,其調度方式和調度算法必須能保證這一點。