操作系統中的算法----進程調度算法,空閒分區分配算法、頁面置換算法、磁盤調度算法

進程調度算法

1.先進先出算法(FIFO):按照進程進入就緒隊列的先後次序來選擇。即每當進入進程調度,總是把就緒隊列的隊首進程投入運行。
2.時間片輪轉算法(RR):分時系統的一種調度算法。輪轉的基本思想是,將CPU的處理時間劃分成一個個的時間片,就緒隊列中的進程輪流運行一個時間片。當時間片結束時,就強迫進程讓出CPU,該進程進入就緒隊列,等待下一次調度,同時,進程調度又去選擇就緒隊列中的一個進程,分配給它一個時間片,以投入運行。
3.最高優先級算法(HPF):進程調度每次將處理機分配給具有最高優先級的就緒進程。最高優先級算法可與不同的CPU方式結合形成可搶佔式最高優先級算法和不可搶佔式最高優先級算法。
4.多級隊列反饋法:幾種調度算法的結合形式多級隊列方式。

空閒分區分配算法

1.首先適應算法:當接到內存申請時,查找分區說明表,找到第一個滿足申請長度的空閒區,將其分割並分配。此算法簡單,可以快速做出分配決定。
2.最佳適應算法:當接到內存申請時,查找分區說明表,找到第一個能滿足申請長度的最小空閒區,將其進行分割並分配。此算法最節約空間,因爲它儘量不分割到大的空閒區,其缺點是可能會形成很多很小的空閒分區,稱爲“碎片”。
3.最壞適應算法:當接到內存申請時,查找分區說明表,找到能滿足申請要求的最大的空閒區。該算法的優點是避免形成碎片,而缺點是分割了大的空閒區後,在遇到較大的程序申請內存時,無法滿足的可能性較大。

虛擬頁式存儲管理中的頁面置換算法

1.理想頁面置換算法(OPT):這是一種理想的算法,在實際中不可能實現。該算法的思想是:發生缺頁時,選擇以後永不使用或在最長時間內不再被訪問的內存頁面予以淘汰。
2.先進先出頁面置換算法(FIFO):選擇最先進入內存的頁面予以淘汰。
3.最近最久未使用算法(LRU):選擇在最近一段時間內最久沒有使用過的頁,把它淘汰。
4.最少使用算法(LFU):選擇到當前時間爲止被訪問次數最少的頁轉換。

磁盤調度

1.先來先服務(FCFS)
2.最短尋道時間優先(SSTF):讓離當前磁道最近的請求訪問者啓動磁盤驅動器,即是讓查找時間最短的那個作業先執行,而不考慮請求訪問者到來的先後次序,這樣就克服了先來先服務調度算法中磁臂移動過大的問題
3.掃描算法(SCAN)或電梯調度算法:總是從磁臂當前位置開始,沿磁臂的移動方向去選擇離當前磁臂最近的那個柱面的訪問者。如果沿磁臂的方向無請求訪問時,就改變磁臂的移動方向。在這種調度方法下磁臂的移動類似於電梯的調度,所以它也稱爲電梯調度算法。
4.循環掃描算法(CSCAN):循環掃描調度算法是在掃描算法的基礎上改進的。磁臂改爲單項移動,由外向裏。當前位置開始沿磁臂的移動方向去選擇離當前磁臂最近的哪個柱面的訪問者。如果沿磁臂的方向無請求訪問時,再回到最外,訪問柱面號最小的作業請求。

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