勵志

勵志人生知識庫

fcfs策略

先來先服務FCFS, First-Come, First-Served)是一種簡單的調度算法,它按照進程進入就緒佇列的先後順序來分配處理器。FCFS算法既可用於作業調度也可用於進程調度,其基本思想是按照進程進入就緒佇列的先後次序來分配處理器。

在FCFS策略中,當一個進程進入就緒佇列時,它的TCB(Task Control Block,任務控制塊)會被連結到佇列尾部。當CPU空閒時,它會分配給位於佇列頭部的進程,並且這個運行進程從佇列中移去。FCFS調度算法屬於不可剝奪算法,一旦CPU分配給了一個進程,該進程就會使用CPU直到釋放CPU為止,即程式終止或是請求I/O。

FCFS策略的優點是簡單易實現,但可能會導致等待時間較長的進程無法優先獲得CPU。例如,如果一個長作業先到達系統,就會使後面許多短作業等待很長時間,因此它不能作為分時系統和實時系統的主要調度策略。此外,FCFS策略的平均等待時間通常不是最小,而且如果進程的CPU執行時間變化很大,那麼平均等待時間的變化也會很大。

儘管如此,FCFS策略比較有利於長作業,而不利於短作業。因長作業會長時間占據處理機;有利於CPU繁忙的作業,而不利於I/O繁忙的作業。此外,FCFS策略也常被結合在其他調度策略中使用,例如,在使用優先權作為調度策略的系統中,往往對多個具有相同優先權的進程按FCFS原則處理。