最早截止時間優先調度

最早截止時間 ( EDF ) 是一個實時操作系統中使用的 ， 動態優先級的將進程放入優先隊列的算法 。 每當一個引起調度的事件發生 ， 將搜索出隊列中最後期限最接近的進程 ， 接下來要被執行的就是這個進程 。 EDF在搶佔式 、 單CPU的場景下是一個最優的調度算法 ： 如果有一組互相無關的任務 ， 每個任務都有一個到達時間 、 一個執行需求和一個截止時間 ， 如果存在一個調度算法能夠確保在截止時間前完成這些任務 ， 使用EDF算法來調度這些任務將會達到這個效果 。 對於調度最後期限等於其週期的週期性進程 ， EDF 的利用率爲100 ％ 。 EDF 的可調度性檢驗是 ： 然而 ， 當該系統超載 、 會錯過最後期限的進程集合很大程度上是不可預知的 。 在實時操作系統上 ， 這是一個相當大的缺點 。 算法也難以使用硬件實現 ， 表達不同範圍內的截止時間也是一個棘手的問題 。 因此 ， EDF 並不常用於工業實時計算機系統中 。 相反 ， 大多數實時計算機系統使用 固定優先級調度 。 由於優先級是固定的 ， 顯然 ， 超載時會造成的低優先級的任務會錯過最後期限 ， 而最高的優先級進程將仍然滿足其最後期限 。