2.10調度算法:時間片輪轉,優先級,多級反饋隊列

一,時間片輪轉(RR):

1,算法思想:公平地,輪流地爲各個進程服務,讓每個進程在一定時間間隔內都可以得到響應

2,算法規則:按照各個進程到達就緒隊列的順序,輪流讓各個進程執行一個時間片(如100ms)r如果進程未在一個時間片內執行完,則剝奪處理機,將進程放到就緒隊列隊尾重新排隊

3,用於作業/進程調度:用於進程調度(只有專業放到內存中建立相應的進程後,才能分配處理機時間片)

4,是否可搶佔:如果進程未在時間片 內運行完,將強行剝奪處理機的使用權,因此時間片輪轉調度算法屬於搶佔式。由時鐘裝置發出時鐘中斷來通知CPU時間片已經到了

5優缺點:

優點:公平,響應快,適用於分時操作系統

缺點:由於高頻率的進程切換,因此會有一定的開銷,不區分任務的緊急程度

6,是否導致飢餓:不會

7,補充:時間片分配太大就 退化成先來先服務算法,太小用於進程切換的開銷就太大了

 

二,優先級調度算法:

1,算法思想:隨着計算機的發展,特別是實時操作系統的出現,越來越多的應用場景需要根據任務的緊急程度來決定處理順序。

2,算法規則:每個作業/進程都有自己的優先級,調度時選擇優先級最高的作業/進程

3,用於作業/進程調度:都適用,甚至還用於I/O調度

4,是否可以搶佔:搶佔和非搶佔式都有,做題時的區別在於,非搶佔式只需要在進程主動地放棄處理機時進行調度,而搶佔式還需要在就緒隊列變化時,檢查是否會發生搶佔。

5,優缺點:

優點:用優先級區分緊急程度,重要程度,適用於實時操作系統。可以靈活地調整對各種作業/進程的偏好程度。

缺點:如果有源源不斷的高優先級進程到來,則會導致飢餓

6,是否導致飢餓:

 

三,多級反饋隊列調度算法:

1,算法思想:對以上算法的折中

2,算法規則:

1)設置多級就緒隊列,各級隊列的優先級從高到低,時間片從大到小

2)新進程到達時先進入第一級隊列,按FCFS原則排隊等待被分配時間片,如果用完時間片進程還沒有結束,則進入下一級隊列的隊尾,如果此時已經是在最下級的隊列,則重新放到這一級隊列的隊尾

3)只有第k級隊列爲空時,纔會爲k+1級隊列隊頭的進程分配時間片。

3,用於作業/進程調度:用於進程調度

4,是否可以搶佔:搶佔式算法。在k級隊列運行過程中,如果上級的隊列中進入了一個新進程,則由於新進程處於高優先級的隊列中,因此新進程會搶佔處理機,原來運行的進程放回k級隊列隊尾

5,優缺點:

1)對各類型進程相對公平(FCFS的優點)

2)每個新到達的進程都可以很快得到響應(RR的優點)

3)短進程只需要較少的時間就可以完成(SPF的優點)

4)不必實現估計進程時間(避免用戶作假)

5)可以靈活第設置對各類進程的偏好程度(優先級算法的優點)

6,是否導致飢餓:

 

 

 

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章