RTLinux—基於Linux核心的實時作業系統RTLinux
阿新 • • 發佈:2019-01-25
RTLinux(Real-TimeLinux):是由新墨西哥大學(NMT)開發,是可嵌入系統並支援硬實時特性,部分支援POSIX.1b標準。其核心結構和系統特點是實現了一個小的實時核心,並“架空”了Linux核心,而實時任務作為可載入模組執行,屬於實時EXE
(realtime executive)的體系結構。其實時核心支援底層任務建立﹑中斷服務例程的裝入﹑底層任務通訊佇列﹑中斷服務例程(ISR)和Linux程序。
RTLinux 的設計原則是通過對 Linux 本身做最小的改造,以提供實時應用所需要的最基本的功能。 最小的改造意味著 Linux核心所提供的所有服務仍然可用。
圖 2.1 RTLinux核心結構
實時任務所需的所有資源都是任務建立時靜態分配的,包括: Memory,
fifos和處理時間,從而保證實時任務行為的確定性。
中斷控制及處理,把中斷分成兩類,一類稱為硬中斷( Hard interrupts) ,包括所有的硬體中斷,具有低延遲性;另一類稱為軟中斷( Soft
interrupts ),為正常的 Linux 核心中斷 。通過使用虛擬中斷模式保證了 Linux 核心永遠不能封閉中斷 。
其主要是利用 微核心的思想,在硬體平臺與標準 Linux核心之間增加一個精巧的虛擬機器層 ——實時核心層,通過接管硬體中斷和使用虛擬中斷控制器實現了一個具有硬實時特性的系統,其結構如圖 2.1所示。實現過程中採用的主要方法包括:
l 微核心, l 微核心的主要作用是為實時任務提供直接訪問和控制硬體的機制,以保證減少延遲和提高響應速度。
使核心可搶佔,虛擬機器層通過使用一個固定優先順序的排程器,把標準的 Linux核心的優先順序設為最低,並作為實時核心的一個程序與使用者的其它實時任務一起排程。圖 2.1 RTLinux核心結構