【作業系統】3.3實時排程
阿新 • • 發佈:2018-11-27
1.實時系統
指系統能夠在限定的響應時間內提供所需水平的服務。
2. 實現實時排程的基本條件
1)提供必要的資訊
為了實現實時排程,系統應向排程程式提供有關任務的下述資訊:
就緒時間:該任務成為就緒狀態的時間。
開始截止時間、完成截止時間。
處理時間:從開始執行到完成所需時間。
資源要求:任務執行時所需的一組資源。
優先順序:根據任務性質賦予不同優先順序。
2)系統處理能力足夠強
3)採用搶佔式排程機制
4)具有快速切換機制
3. 常用的幾種實時排程演算法
a.最早截止時間優先EDF(Earliest Deadline First)演算法
1)根據任務的開始截止時間來確定任務的優先順序。 截止時間越早,其優先順序越高。
- 系統保持一個實時任務就緒佇列
- 佇列按各任務截止時間的早晚排序
- 排程程式總是選擇就緒佇列中的第一個任務,分配處理機使之投入執行。
2)新任務產生時,是否等當前程式執行完:
搶佔式/非搶佔式
3)可能會使作業錯過,但可適用於軟實時系統
b.最低鬆弛度優先LLF
根據任務緊急(或鬆弛)的程度,來確定任務的優先順序。任務的緊急程度越高(鬆弛度值越小),優先順序就越高。
鬆弛度= 截止完成時間 – 還需執行時間 - 當前時間
4.程序切換髮生的時機
- 程序執行完
- 程序I/O阻塞
- 新程序出現時可能的搶佔
- 某程序鬆弛度為0時發生搶佔
有的時刻,其他併發的實時任務下一週期未到來,會出現只有一個任務的情況。