操做系統也談"算法"

前言:
  近來在準備校招的筆試面試,複習到操做系統時感受概念性的東西比較多,不過對於如下的幾類算法仍是有必要作個小小總結。面試

【做業調度算法】算法

先來先服務(FCFS, First Come First Serve)是最簡單的調度算法,按前後順序進行調度。spa

短做業優先(SJF, Shortest Job First)又稱爲「短進程優先」SPN(Shortest Process Next);這是對FCFS算法的改進,其目標是減小平均週轉時間。操作系統

優先級算法(Priority Scheduling)是多級隊列算法的改進,平衡各進程對響應時間的要求。對象

時間片輪轉法(Round Robin)是讓每一個進程在就緒隊列中的等待時間與享受服務的時間成正比例。隊列

場景模擬:
甲乙丙丁4人前後到銀行辦理業務,此時銀行只有開放一個業務辦理窗口,且工做人員還沒有上班。
1)FCFS:即誰排前面誰先辦理業務,無論他業務須要花費多長時間。因此此時的辦理順序天然是:甲->乙->丙->丁
2)SJF:假如甲乙丙丁辦理業務的時間分別是:10,2,3,5。則按照SJF乙辦理的業務時間比較短,故最早辦理,最後辦理的順序爲:乙->丙->丁->甲
3)PS:不知道甲乙丙丁的具體辦理業務時間,不過此時由於銀行有規定辦理對象優先權爲:白金會員(丁) >青銅會員(丙) >普通會員(乙)> 非會員(甲)。因此此時,雖然丁最後纔到達,不過他將是第一個辦理的人,此時新的辦理順序爲:丁->丙->乙->甲;
4)RR:假設同(2),此時假設時間片爲1,則甲乙丙丁依次辦理且每次辦理時間「1」以後必須輪到下一位業務辦理者。此狀況下雖然也是甲最早辦理,不過只能辦理「1」,可知最後完成業務的順序爲:乙->丙->丁->甲。進程

【頁面調度算法】it

1)最佳置換算法(OPT)
2)先進先出置換算法(FIFO)
3)最近最久未使用算法(LRU)
4)時鐘置換算法(CLOCK)io

情景模擬:
系統爲某進程分配了3個物理塊,頁面的走向爲:7 0 1 2 0 3 0 4 2 3 .則各算法的缺頁次數:
1)6
2)9
3)8
4)7test

【磁盤調度算法】

1)先來先服務算法(FCFS)
2)最短尋道時間優先算法(SSTF)
3)掃描算法(SCAN)
4)循環掃描算法(CSCAN)


情景模擬:
有一架智能電梯(可經過設置以上4種算法中的任一種進行操控)處於第50層,此時有10人同時進入。他們前後分別按了:12,34,7,19,81,23,52,88,92,1.依據以上 不一樣的算法電梯應該怎麼運行?
1)->12-34-7-19-81-23-52-88-92-1
2)->52-34-23-19-12-7-1-81-88-92
3)->52-81-88-92-34-23-19-12-7-1
4)->52-81-88-92-1-7-12-19-23-34

End!

相關文章
相關標籤/搜索