天天看點

實時搶占更新檔一. Linux 在實時方面的不足二. 各種Linux實時改造方法三. 實時搶占更新檔

一. Linux 在實時方面的不足

1. 早期的linux在任何時候。硬中斷、軟中斷、tasklet、bh具有最高優先級,它們能夠中斷任何其他實時任務,并且在中斷處理時,中斷可能被長時間地關閉,其他任務得不到排程,會造成很大的延遲。

2. 早期的linux不支援搶占

3. 早期的linux在操作某些核心資料結構時, 為保證資料的完整性,采取了關閉中斷的措施。

4. 早期時鐘管理系統分辨率很低。

5. 早起排程器的時間複雜度是O(n),具有不确定性。

6. 早期的linux沒有提供解決優先級反轉的處理措施。

7. 動态記憶體配置設定算法的時間複雜度是O(n).具有不确定性。

8. linux雖然提供了SCHED_FIFO和SCHED_RR兩種實時排程政策,但是還沒提供基于截至時間優先的實時排程政策,比如EDF和LLF。

二. 各種Linux實時改造方法

1. 修改Linux核心本身,讓其原生提供實時能力。

2. 引入新的硬體抽象層,在抽象層上實作實時作業系統的核心功能。

根據結構來劃分:

實時搶占更新檔一. Linux 在實時方面的不足二. 各種Linux實時改造方法三. 實時搶占更新檔

三. 實時搶占更新檔

它在原有的低延遲更新檔和搶占更新檔的基礎上,引入了中斷線程化、高精度時鐘、臨界區搶占以及優先級繼承等。

實時搶占更新檔分析:

1.自願搶占更新檔/低延遲更新檔

2. 搶占更新檔

3. 實時搶占更新檔:a.中斷線程化 b.高精度時鐘 c.實時排程算法 d.優先級繼承 e.其他(使用者空間的實時支援,實時虛拟化技術、容錯技術,記憶體配置設定算法)

繼續閱讀