簡體   English   中英

FCFS vs SJF vs RR

[英]FCFS versus SJF versus RR

在C語言中,假設每個算法都具有完全相同的過程集,那么在先到先服務,最短作業先到以及輪詢之間的周轉時間是否相等? 還是調度算法之間有所不同?

SJF的平均周轉時間最佳,其次是FCFS。 相比之下,RR的周轉時間最差。

說明:

FCFS調度是最簡單的調度算法,但是它可能導致較短的進程等待非常長的進程(車隊效應)。

考慮到進程需要完成的時間長度(CPU突發),SJF調度是對FCFS的改進。 事實證明,SJF是最佳選擇,可提供最短的平均等待時間。 但是,實現SJF調度很困難,因為很難預測下一個CPU突發的長度。 此外,如果運行時間短的進程太多,則運行時間長的進程可能會在SJF下餓死。

RR為公平性問題提供了解決方案,從而提供了更好的平均響應時間。 不過,這通常是以更高的平均周轉時間為代價的。

歸根結底,這是平均周轉時間與響應時間之間的權衡取舍。

這是另一個可以幫助您的鏈接: https : //homes.cs.washington.edu/~arvind/cs422/lectureNotes/sched-6.pdf

或者,您可以查看以下本書的第6章CPU調度

Silberschatz,Galvin和Gagne撰寫的《操作系統概念》第9版

通常,先實現先服務(FCFS)和最短作業優先(SJF)實施有利於周轉時間,而實施輪詢(RR)有利於響應時間。 通常這是一個權衡。 這意味着,在相同的流程(還取決於工作負載的類型)的情況下,SJF和FCFS的周轉時間通常比RR好,反之亦然,RR的響應時間通常都比RR好。

要更好地理解這一點,您可以閱讀http://pages.cs.wisc.edu/~remzi/OSTEP/cpu-sched.pdf

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM