進程調度算法

  1. 先來先服務(FCFS):直接從就緒隊列中取出進程爲其分配處理機。
  2. 短作業優先:在就緒隊列中選出估計運行時間最短的進程優先爲其分配處理機。
  3. 搶佔式優先調度算法:當有更高優先級進程進入就緒隊列,則立即停止當前進程運行而將處理機優先分配給改更高優先級進程。
  4. 非搶佔式優先調度算法:當有更高級優先級進入就緒隊列,等待當前進程執行完畢後再將處理機分配給該更高優先級進程。
  5. 高響應比優先調度算法:這個算法可以使進程的優先級發生變化,這樣長時間等候的進程優先級也會升高,保證其有機會獲得處理機。優先權的算法是(等待時間+處理機處理時間)/處理機處理時間。這個算法保證了優先級能夠動態的變化,使長時間得不到處理機的進程優先級升高。
  6. 時間片輪轉法:每個進程都將獲得固定時間的處理機,服務時間到了,就將處理機分配給下一個進程,保證了每個進程都有機會獲得處理機。
  7. 多級反饋隊列調度算法。
    具體方法是:
    設置多個就緒隊列(也即所謂的多級),每個就緒隊列的優先級不同,優先級從高到低排列。並對每個隊列分配不同長度的時間片,優先級高的隊列中每個進程獲得的時間片長度少。進程先進入第一個隊列,按照時間片輪轉的方式進行處理機分配,若該進程在規定的時間片內未處理完,則該進程進入第二個隊列,若還沒完成,則進入第三個隊列等等。如果處理處理機正在處理某進程時,有優先級更高的進程進入就緒隊列,則該進程可搶佔處理機,將手頭未處理掉的進程放回到它以前的就緒隊列中。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章