新的 RTL 協作組將加速實時 Linux 的發展

4 贊 回覆發表於2015-10-31

在不久前的 Linux 大會活動LinuxConLinux 基金會Linux Foundation宣稱實時Linux作業系統專案RTL,Real-Time Linux得到了新的資金支援,並預期這將促進該專案,使其自成立15年來第一次有機會在實時操作性上和其他的實時作業系統RTOS,Real Time Operation System一較高下。Linux 基金會將 RTL 組重組為一個新的專案,並命名為RTL協作組Real-Time Linux Collaborative Project,該專案將獲得更有力的資金支援,更多的開發人員將投入其中,並更加緊密地整合到 Linux 核心主線開發中。

新的 RTL 協作組將加速實時 Linux 的發展

根據 Linux 基金會的說法,RTL 專案併入 Linux基金會旗下後,“在研發方面將為業界節省數百萬美元的費用。”同時此舉也將“通過強有力的上游核心測試體系而改善本專案的程式碼質量”。

在過去的十幾年中,RTL 專案的開發管理和經費資助主要由開源自動化開發實驗室OSADL,Open Source Automation Development Lab承擔,OSADL 將繼續作為新合作專案的金牌成員之一,但其原來承擔的資金資助工作將會在一月份移交給 Linux 基金會。RTL 專案和 OSADL 長久以來一直負責維護核心的實時搶佔RT-Preempt 或 Preempt-RT補丁,並定期將其更新到 Linux 核心的主線上。

據長期以來一直擔任 OSADL 總經理的 Carsten Emde 博士介紹,支援核心實時特性的工作已經完成了將近 90%。 “這就像蓋房子,”他解釋說。 “主要的部件,如牆壁,窗戶和門都已經安裝到位,就實時核心來說,類似的主要部件包括:高精度定時器high-resolution timers中斷執行緒化機制interrupt threads優先順序可繼承的互斥量priority-inheritance mutexes等。然後所剩下的就是需要一些邊邊角角的工作,就如同裝修房子過程中還剩下鋪設如地毯和牆紙等來完成最終的工程。”

以 Emde 觀點來看,從技術的角度來說,實時 Linux 的效能已經可以媲美絕大多數其他的實時作業系統 - 但前提是你要不厭其煩地把所有的補丁都打上。 Emde 的原話如下:“該專案(LCTT 譯註,指 RTL)的唯一目標就是提供一個滿足實時性要求的 Linux 系統,使其無論執行狀況如何惡劣都可以保證在確定的、可以預先定義的時間期限內對外界處理做出響應。這個目標已經實現,但需要你手動地將 RTL 提供的補丁新增到 Linux 核心主線的版本程式碼上,但將來的不用打補丁的實時 Linux 核心也能實現這個目標。唯一的,當然也是最重要的區別就是相應的維護工作將少得多,因為我們再也不用一次又一次移植那些獨立於核心主線的補丁程式碼了。”

新的 RTL 協作組將繼續在 Thomas Gleixner 的指導下工作,Thomas Gleixner 在過去的十多年裡一直是 RTL 的核心維護人員。本週,Gleixner 被任命為 Linux 基金會成員,並加入了一個特別的小組,小組成員包括 Linux 穩定核心維護者Greg Kroah-Hartman,Yocto 專案維護者 Richard Purdie 和 Linus Torvalds 本人。

據 Emde 介紹,RTL 的第二維護人 Steven Rostedt 來自 Red Hat 公司,他負責“維護舊的,但尚保持維護的核心版本”,他將和同樣來自 Red Hat 的 Ingo Molnàr 繼續參與該專案,Ingo 是 RTL 的關鍵開發人員,但近年來更多地從事諮詢方面的工作。有些令人驚訝的是,Red Hat 竟然不是 RTL 協作組的成員之一。相反,谷歌作為唯一的白金會員佔據了頭把交椅,其他黃金會員包括國家儀器公司NI,National Instruments,OSADL 和德州儀器(TI)。銀卡會員包括Altera 公司,ARM,Intel 和 IBM。

走向實時核心的漫長道路

當15年前 Linux 第一次出現在嵌入式裝置上的時候,它所面臨的嵌入式計算市場已經被其他的實時作業系統,譬如風河公司WindRiver的 VxWorks,所牢牢佔據。VxWorks 從那時起到現在,一直在為眾多的工控裝置、航空電子裝置以及交通運輸應用提供著工業級別的高確定性的,硬實時的核心。微軟後來也提供了一個支援實時性的作業系統版本- Windows CE,當時的 Linux 所面臨的是來自潛在工業客戶的公開嘲諷和層層阻力。他們認為那些從桌面系統改進來的 Linux 發行版本頂多適合要求不高的輕量級消費類電子產品,而不適合那些對硬實時要求更高的裝置。

對於嵌入式 Linux 的先行者如 MontaVista 公司來說,其早期的目標很明確就是要改進 Linux 的實時能力。多年以來,對 Linux 的實時效能開發發展迅速,得到各種組織的支援,如成立於2006年的 OSADL,以及實時 Linux 基金會RTLF,Real-Time Linux Foundation。在2009年 OSADL 與 RTLF 合併,OSADL 及其 RTL 組承擔了所有的搶佔式實時核心Preempt-RT補丁的維護工作和將補丁提交到上游核心主線的工作。除此之外 OSADL 還負責監管其他自動化相關的專案,例如高可靠性 LinuxSafety Critical Linux(譯者注:指研究如何在關鍵系統上可靠安全地執行Linux)。

OSADL 對 RTL 的支援經歷了三個階段:擁護和推廣,測試和質量評估,以及最後的資金支援。Emde 表示,在早期,OSADL 的角色僅限於寫寫推廣的文章,製作專題報告,組織相關培訓,以及“宣傳” RTL 的優點。他說:“要讓一個相當保守的工控行業接受象 Linux 之類的新技術及其基於社群的那種開發模式,首先就需要建立其對新事物的信任。從使用專有的實時作業系統轉向改用 Linux 對公司意味著必須引入新的戰略和流程,才能與社群進行互動。”

後來,OSADL 改而提供技術效能資料,建立質量評估和測試中心,並在和開源相關的法律事務問題和安全認證方面向行業成員提供幫助。

當 RTL 在實時性上變得愈加成熟的同時,相反地 Windows CE 卻是江河日下,其市場份額正在快速地被 RTL 所蠶食,一些與 RTL 競爭的實時 Linux 專案,主要是 Xenomai 也已開始整合 RTL。

“伴隨 RTL 補丁的成功,以及明確的預期其最終會被完整整合到 Linux 核心主線程式碼中,導致 Xenomai 關注的重心發生了變化,”Emde 說。 “Xenomai 3.0 可與 RT 補丁結合起來使用,並提供了所謂的‘皮膚’,(LCTT 譯註:一個封裝層),使我們可以複用為其他系統編寫的程式碼。不過,它們還沒有完全統一起來,因為 Xenomai 使用了雙核心方法,而RT 補丁只適用於單一的 Linux 核心。“

近些年來,RTL 組的資助來源越來越少,所以最終 OSADL 接過了這個重任。Emde 說:“當最近開發工作因缺少資金而陷入停滯時,OSADL 對 RTL 的支援進入到第三個重大階段:開始直接資助 Thomas Gleixner 的工作。”

正如 Emde 在其10月5日的一篇博文中所描述的那樣,實時 Linux 的應用領域正在日益擴大,由其原來主要服務的工業控制擴大到了汽車行業和電信業等領域,這表明資助的來源也應該得到拓寬。Emde 原文寫道:“僅僅靠來自工控行業的資金來支撐全部的工作是不合理的,因為電信等其他行業也在享用實時 Linux 核心。”

當 Linux 基金會表明有興趣提供資金支援時,OSADL 認為“單一的資助和控制渠道要有效得多”(LCTT 譯註:指最終由Linux 基金會全盤接手了 RTL 專案),Emde 如是說。不過,他補充說,作為黃金級成員,OSADL 仍參與監管專案的工作,會繼續從事其宣傳和質量保證方面的活動。

汽車行業期待 RTL 的崛起

Emde 表示,RTL 會繼續在工業應用領域飛速發展並逐漸取代其他實時作業系統。而且,他補充說,RTL 在汽車行業發展也很迅猛,以後會擴大並應用到鐵路和航空電子裝置上。

的確,Linux 在汽車行業將扮演越來越重要的角色,這也是 Linux 基金對 RTL 所寄予厚望的原因之所在。RTL 工作組可能會與 Linux 基金會旗下的車載LinuxAGL,Automotive Grade Linux工作組展開合作。Emde 猜測,Google 高調參與的主要動因可能也是希望將 RTL 用於汽車控制。此外,德州儀器(TI)也非常期望將其 Jacinto 處理器應用於汽車行業。

面向車載 Linux 的專案(比如AGL)的目標是要擴大 Linux 在車載裝置上的應用範圍,其應用不是僅限於車載資訊娛樂IVI,In-Vehicle Infotainment,而是要進入到譬如叢集控制和車載通訊領域,而這些領域目前主要使用的是 QNX 之類的實時作業系統。無人駕駛汽車在實時性上對作業系統也有很高的要求。

Emde 特別指出,OSADL 的 SIL2LinuxMP 專案可能會在將 RTL 引入到汽車工業領域上扮演重要的角色。SIL2LinuxMP 並不是專門針對汽車工業的專案,但隨著 BMW 公司參與其中,汽車行業成為其很重要的應用領域之一。該專案的目標在於驗證 RTL 在採用單核或多核 CPU 的標準化商用COTS,Commercial Off-The-Shelf板卡上執行所需的基本元件。它定義了載入程式、根檔案系統、Linux 核心以及對應支援 RTL 的 C 庫。

無人機和機器人使用實時 Linux 的時機也已成熟,Xenomai 系統早已用在許多機器人以及一些無人機中。不過,在更廣泛的嵌入式 Linux 世界,包括了消費電子產品和物聯網應用中,RTL 可以扮演的角色很有限。主要的障礙在於,無線通訊和網際網路本身會帶來延遲。

Emde 說:“目前實時 Linux 主要還是應用於系統內部控制以及系統與周邊外設之間的控制,在遠端控制機器上作用不大。企圖通過網際網路實現實時控制恐怕不是一件可行的事情。”


via: http://www.linux.com/news/software/applications/858828-new-collaborative-group-to-speed-real-time-linux

作者:Eric Brown 譯者:unicornx 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出

相關文章