RT-Linux

RT-Linux

RT linux就是realtime linux的簡寫,RT-Linux是一個嵌入式硬實時作業系統,它部分支持POSIX.1b標準。

基本介紹

  • 外文名:RT linux
  • 全稱:Realtime linux
  • 類別:嵌入式硬實時作業系統
  • 開發者:墨西哥理工學院
簡介,設計思想,特點,

簡介

RT linux 是由美國墨西哥理工學院開發的嵌入式Linux作業系統。到目前為止,RT-Linux已經 成功地套用於太空梭的空間數據採集、科學儀器測控和電影特技圖像處理等廣泛領域。RT-Linux開發者並沒有針對實時作業系統的特性而重寫Linux 的核心,因為這樣做的工作量非常大,而且要保證兼容性也非常困難。為此,RT-Linux提出了精巧的核心,並把標準的Linux核心作為實時核心的一個 進程,同用戶的實時進程一起調度。這樣對Linux核心的改動非常小,並且充分利用了Linux下現有的豐富的軟體資源。

設計思想

RTLinux的設計思想是:套用硬體的實時約束將實時程式分割成短小簡單的部分,較大部分承擔較複雜的任務。根據這一原則,將應用程式分為硬實時和程式 2個部分。硬體實時部分被作為實時任務來執行,並從外部設備拷貝數據到一個叫做實時有名管道(RTFIFO)的特殊I/O連線埠;程式主要部分作為標準 Linux進程來執行。它將從RTFIFO中讀取數據,然後顯示並存儲到檔案中,實時部分將被寫入核心。設計實時有名管道是為了使實時任務在讀和寫數據時不被阻塞。圖2所示的是實時有名管道結構圖。
RTLinux通過對標準Linux核心進行改造,將Linux核心工作環境作了一些變化。如圖2所示,在Linux進程和硬體中斷之間,本來由 Linux核心完全控制,在Linux核心和硬體中斷的地方加上了一個RTLinux核心的控制。Linux的控制信號都要先交給RTLinux核心進行處理。在RTLinux核心中實現了一個虛擬中斷機制,Linux本身永遠不能禁止中斷,它發出的中斷禁止信號和打開中斷信號都修改成向 RTLinux傳送一個信號。如在Linux裡面使用“SI”和“CLI”宏指令,讓RTLinux裡面的某些標記做了修改。也就是說將所有的中斷分成 Linux中斷和實時中斷兩類。如果RTLinux核心接收到的中斷信號是普通Linux中斷,那就設定一個標誌位;如果是實時中斷,就繼續向硬體發出中斷。在RTLinux中執行STI將中斷打開之後,那些設定了標誌位表示的Linux中斷就繼續執行,因此,CLI並不能禁止RTLinux核心的運行, 卻可以用來中斷Linux。Linux不能中斷自己,而RTLinux可以。
這裡體現了RTLinux設計過程中的原則:在實時模組中的工作量儘量少,如果能在Linux中完成而不影響實時性能的話,就儘量在Linux中完成,因此,RTLinux核心可以儘量做得簡單。在RTLinux核心中,不應該等待資源,也不需要使用共享旋轉鎖。實時任務和Linux進程之間的通信也是非阻塞的,從來不用等待進佇列和出佇列的數據。RTLinux將系統和設備的初始化交給了Linux 完成,對動態資源的申請和分配也交給了Linux。
RTLinux使用靜態分配的記憶體來完成硬體實時任務,因為在沒有記憶體資源的時候,被阻塞的執行緒是不可能具有實時能力的。

特點

RTlinux是原始碼開放的具有硬實時特性的多任務作業系統,它是通過底層對Linux實施改造的產物。通過在L inux核心與硬體中斷之間增加一個精巧的可搶先的實時核心,把標準的Linux核心作為實時核心的一個進程與用戶進程一起調度,標準的L inux核心的優先權最低,可以被實時進程搶斷。正常的Linux進程仍可以在Linux核心上運行,這樣既可以使用標準分時作業系統即Linux的各種服務, 又能提供低延時的實時環境 。

相關詞條

熱門詞條

聯絡我們