Xenomai

Xenomai 是一種採用雙核心機制的Linux 核心的強實時擴展。優先權高於Linux 核心,它負責處理系統的實時任務。

產品定義

Xenomai 是一種採用雙核心機制的Linux 核心的強實時擴展。由於Linux 核心本身的實現方式和複雜度,使得Linux 本身不能使用於強實時套用。在雙核心技術下,存在一個支持強實時的微核心,它與Linux 核心共同運行於硬體平台上,實時核心的

優先權高於Linux 核心,它負責處理系統的實時任務,而Linux 則負責處理非實時任務,只有當實時核心不再有實時任務需要處理的時候,Linux 核心才能得到運行的機會。

Xenomai 基於Adeos(Adaptive Domain Environment for Operating System)實現雙核心機制,圖3.1 顯示了Xenomai、Adeos 和Linux 這三個軟體實體之間的相互關係。Adeos 是擴展Linux 的基礎環境,有必要對其做一個較詳細的介紹。

產品簡介

Adeos 的設計目標是為作業系統提供一個靈活的、可擴展的自適應環境,在這個環境下,多個相同或不同的作業系統可以共存,共享硬體資源。目前,Adeos 是基於Linux 核心實現的,主要的套用是在Linux 的實時化方面,使基於Linux 的系統能滿足強實時的要求(例如Xenomai 和RTAI3.2 以上版本都是基於Adeos 實現的)。在基於Adeos 的系統中,每個作業系統都是在獨立的域內運行(但不一定所有的域實現的都是作業系統,也可以是完成其它功能的軟體實體),每個域可以有獨立的地址空間和類似於進程、虛擬記憶體等的軟體抽象層,而且這些資源也可以由不同的域共享。

對於一個計算機系統來說,系統的運行是由內部和外部的中斷和異常所觸發的,例如系統時鐘中斷對作業系統來說就是最重要的。所以,Adeos 的主要工作就是管理硬體的中斷,根據域的優先權依次執行相應域的中斷服務程式,從而驅動域內的系統運行;同時,Adeos 還提供域之間的通信機制實現域的調度等。

為了實現對中斷的管理和域之間的優先權控制,Adeos 使用了中斷管道(Interrupt Pipe)的概念。Adeos 通過中斷管道在不同的域之間傳播中斷,而且提供了相應的機制可以讓域改變自己在中斷管道中的優先權。

Xenomai 在Adeos 系統中的域優先權高於Linux 域,每當中斷到來之後,Adeos先調度Xenomai 對該中斷進行處理、執行中斷相應的實時任務,只有當Xenomai 沒有實時任務和中斷需要處理的時候,Adeos 才會調度Linux 運行,這就保證了Xenomai的中斷回響速度和實時任務不受Linux 的影響,從而提供了實時系統的可確定性。

Xenomai 實時核心為開發強實時套用提供了豐富的功能,主要包括實時執行緒調度與管理、用戶空間實時任務支持、執行緒同步服務、時鐘服務、中斷服務、動態記憶體申請和實時對象註冊服務等。

相關詞條

熱門詞條

聯絡我們