❶ 磁碟調度演算法的比較
優點缺點FCFS演算法公平、簡單平均尋道距離大,僅應用在磁碟I/O較少的場合SSTF演算法性能比「先來先服務」好不能保證平均尋道時間最短,可能出現「飢餓」現象SCAN演算法尋道性能較好,可避免「飢餓」現象不利於遠離磁頭一端的訪問請求C-SCAN演算法消除了對兩端磁軌請求的不公平--
❷ SJF是什麼意思
是網路上的一個梗,指stg界最高毒奶。
SJF指射擊游戲(Shooting game),游戲類型的一種,也是動作游戲的一種。射擊游戲帶有很明顯的動作游戲特點,也沒有純然的射擊游戲,因為射擊必須要經過一種動作方式來呈現它的「射擊」。
「毒奶」指反向加油、拖累隊友。
詳解:
奶,在電競中作為名詞時候,指使用於游戲治療輔助職業;在電競中作為動詞時即指治療的動作。
毒奶,顧名思義,有毒的奶,即起到治療的反作用,害死隊友的行為。
❸ SJF調度演算法
SJF調度演算法:最短作業優先演算法SJF(Shortest Job First ),SJF演算法以進入系統的作業所要求的CPU時間為標准,總選取估計計算時間最短的作業投入運行。
SJF 調度演算法優缺點:演算法易於實現。但效率不高,主要弱點是忽視了作業等待時間;會出現飢餓現象。SJF 調度演算法可證明為最佳的,這是因為對於給定的一組進程, SJF 演算法的平均等待時間最小。雖然 SJF 演算法最佳,但是它不能在短期CPU 調度層次上加以實現。因為沒有辦法知道下一個 CPU 區間的長度。
SJF演算法Gantt圖:
進程 區間時間
PI 6
P2 8
P3 7
P4 3
進程 P1 的等待時間是 3 ms,進程P2的等待時間為 16 ms,進程P3的等待時間為 9ms,進程P4的等待時間為 0ms。因此,平均等待時間為(3 + 16 + 9 +0) / 4 = 7 ms。
❹ 不會發生飢餓現象的調度演算法
不會發生飢餓現象的調度演算法,這叫什麼話呀?我們中國人現在不都是衣食無憂了嗎?怎麼還會飢餓現象出現呢?你不是想到了什麼時候的年代的事?
❺ SJF什麼意思
最短作業優先演算法SJF SJF(Shortest Job First ) SJF演算法以進入系統的作業所要求的CPU時間為標准,總選取估計計算時間最短的作業投入運行。 SJF演算法的優缺點: 演算法易於實現。但效率不高,主要弱點是忽視了作業等待時間;會出現飢餓現象。 SJF演算法與FCFS演算法的比較: SJF的平均作業周轉時間比FCFS要小,故它的調度性能比FCFS好。 SJF調度演算法的問題: 實現SJF調度演算法需要知道作業所需運行時間,否則調度就沒有依據,要精確知道一個作業的運行時間是辦不到的。
❻ 磁碟調度演算法
上文介紹了磁碟的結構,本文介紹磁碟的調度演算法相關的內容。
本文內容
尋找時間(尋道時間) T s :在讀/寫數據前,需要將磁頭移動到指定磁軌所花費的時間。
尋道時間分兩步:
則尋道時間 T s = s + m * n。
磁頭移動到指定的磁軌,但是不一定正好在所需要讀/寫的扇區,所以需要通過磁碟旋轉使磁頭定位到目標扇區。
延遲時間T R :通過旋轉磁碟,使磁頭定位到目標扇區所需要的時間。設磁碟轉速為r(單位:轉/秒,或轉/分),則 平均所需延遲時間T R = (1/2)*(1/r) = 1/2r。
傳輸時間T R :從磁碟讀出或向磁碟中寫入數據所經歷的時間,假設磁碟轉速為r,此次讀/寫的位元組數為b,每個磁軌上的位元組數為N,則傳輸時間 T R = (b/N) * (1/r) = b/(rN)。
總的平均時間 T a = T s + 1/2r + b/(rN) ,由於延遲時間和傳輸時間都是與磁碟轉速有關的,且是線性相關。而轉速又是磁碟的固有屬性,因此無法通過操作系統優化延遲時間和傳輸時間。所以只能優化尋找時間。
演算法思想: 根據進程請求訪問磁碟的先後順序進行調度。
假設磁頭的初始位置是100號磁軌,有多個進程先後陸續地請求訪問55、58、39、18、90、160、150、38、184號磁軌。
按照先來先服務演算法規則,按照請求到達的順序,磁頭需要一次移動到55、58、39、18、90、160、150、38、184號磁軌。
磁頭共移動了 45 + 3 + 19 + 21 + 72 + 70 + 10 + 112 + 146 = 498個磁軌。響應一個請求平均需要移動498 / 9 = 55.3個磁軌(平均尋找長度)。
優點: 公平;如果請求訪問的磁軌比較集中的話,演算法性能還算可以 。
缺點: 如果大量進程競爭使用磁碟,請求訪問的磁軌很分散,FCFS在性能上很差,尋道時間長 。
演算法思想: 優先處理的磁軌是與當前磁頭最近的磁軌。可以保證每次尋道時間最短,但是不能保證總的尋道時間最短 。(其實是貪心演算法的思想,只是選擇眼前最優,但是總體未必最優)。
假設磁頭的初始位置是100號磁軌,有多個進程先後陸續地請求訪問55、58、39、18、90、160、150、38、184號磁軌。
磁頭總共移動了(100 -18)+ (184 -18) = 248個磁軌。響應一個請求平均需要移動248 / 9 = 27.5個磁軌(平均尋找長度)。
缺點: 可能產生飢餓現象 。
本例中,如果在處理18號磁軌的訪問請求時又來了一個38號磁軌的訪問請求,處理38號磁軌的訪問請求又來了一個18號磁軌訪問請求。如果有源源不斷的18號、38號磁軌訪問請求,那麼150、160、184號磁軌請求的訪問就永遠得不到滿足,從而產生飢餓現象。這里產生飢餓的原因是 磁頭在一小塊區域來回移動。
SSTF演算法會產生飢餓的原因在於:磁頭有可能再一個小區域內來回得移動。為了防止這個問題,可以規定: 磁頭只有移動到請求最外側磁軌或最內側磁軌才可以反向移動,如果在磁頭移動的方向上已經沒有請求,就可以立即改變磁頭移動,不必移動到最內/外側的磁軌。 這就是掃描演算法的思想。由於磁頭移動的方式很像電梯,因此也叫 電梯演算法 。
假設某磁碟的磁軌為0~200號,磁頭的初始位置是100號磁軌,且此時磁頭正在往磁軌號增大的方向移動,有多個進程先後陸續的訪問55、58、39、18、90、160、150、38、184號磁軌。
磁頭共移動了(184 - 100)+ (184 -18) = 250個磁軌。響應一個請求平均需要移動 250 / 9 = 27.5個磁軌(平均尋找長度)。
優點: 性能較好,尋道時間較短,不會產生飢餓現象。
缺點: SCAN演算法對於各個位置磁軌的響應頻率不平均 。(假設此時磁頭正在往右移動,且剛處理過90號磁軌,那麼下次處理90號磁軌的請求就需要等待低頭移動很長一段距離;而響應了184號磁軌的請求之後,很快又可以再次響應184號磁軌請求了。)
SCAN演算法對各個位置磁軌的響應頻率不平均,而C-SCAN演算法就是為了解決這個問題。規定只有磁頭朝某個特定方向移動時才處理磁軌訪問請求,而 返回時直接快速移動至最靠邊緣的並且需要訪問的磁軌上而不處理任何請求。
通俗理解就是SCAN算在改變磁頭方向時不處理磁碟訪問請求而是直接移動到另一端最靠邊的磁碟訪問請求的磁軌上。
假設某磁碟的磁軌為0~200號,磁頭的初始位置是100號磁軌,且此時磁頭正在往磁軌號增大的方向移動,有多個進程先後陸續的訪問55、58、39、18、90、160、150、38、184號磁軌。
磁頭共移動了(184 -100)+ (184 - 18)+(90 - 18)=322個磁軌。響應一個請求平均需要移動322 / 9 = 35.8個磁軌(平均尋找長度)。
優點: 相比於SCAN演算法,對於各個位置磁軌響應頻率很平均。
缺點: 相比於SCAN演算法,平均尋道時間更長。
❼ 操作系統的進程調度演算法[總結]
操作系統的進程調度演算法直接關繫到用戶的使用體驗。
如果把用戶的體驗時間,引入到計算機裡面,我們引入以下幾個概念。
周轉時間,指作業從提交系統開始,直到作業完成為止的時間間隔。包括:
是指作業周轉時間與作業實際運行服務時間的比值。
平均周轉時間和平均帶權周轉時間是衡量批處理系統調度演算法的重要准則。
先來先服務調度演算法(First Come First Served, FCFS)是最簡單的調度演算法,可以用於作業調度和進程調度。
按照作業進入系統後備作業隊列的先後次序來挑選作業,加入就緒隊列,等待執行。
FCFS是非搶占式的,易於實現,效率不高,性能不好.
有利於長作業(CPU繁忙性)而不利於短作業(I/O繁忙性)。
服務時間:作業需要運行的時間
完成時間 = 開始時間 + 服務時間
等待時間 = 開始時間 - 提交時間
周轉時間 = 完成時間 - 提交時間
帶權周轉時間 = 周轉時間 / 服務時間
響應比 = (等待時間 + 服務時間) / 服務時間 = 等待時間/服務時間 + 1
該演算法每次從後備作業隊列中挑選估計服務時間最短的一個或幾個作業,
將他們調入內存,分配必要的資源,創建進程並放入就緒隊列。
在進程調度中的原理類似。
SJF是非搶占式的,優先照顧短作業,具有很好的性能,降低平均等待時間,提高吞吐量。
但是不利於長作業,長作業可能一直處於等待狀態,出現飢餓現象;
完全未考慮作業的優先緊迫程度,不能用於實時系統。
高響應比優先調度演算法(Highest Reponse Ratio First, HRRF)是非搶占式的,主要用於作業調度。
基本思想:每次進行作業調度時,先計算後備作業隊列中每個作業的響應比,挑選最高的作業投入系統運行。
響應比 = (等待時間 + 服務時間) / 服務時間 = 等待時間 / 服務時間 + 1
由響應比分析可知,該演算法介於FCFS和SJF之間,但是每次需要計算每個作業的響應比,增加系統開銷。