一,時間片輪轉(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,是否導致飢餓:會