天天看點

[開源名人訪談錄] Philippe Gerum

譯至:http://www.advogato.org/article/803.html

譯者按:這篇采訪的時間很早,但有助于你了解Xenomai相關的背景。

這是對菲利普格魯姆,ADEOS項目的共同上司者的采訪。

ADEOS的目的是提供一個靈活的環境,在多個作業系統之間共享硬體資源,或是在一個單一的作業系統實作多個執行個體。

訪談

GNA:你好,你能給ADEOS兩句讓你的老奶奶都能了解的簡單的說明嗎?ADEOS的目标閱聽人是什麼?

菲利普:比方說,你想編寫自己的核心,旨在提供非常具體的服務,但是你不想花時間去實作一套建立一個完整的O / S所需的常見任務,這是因為:1),它會轉移你的主要目标,你本來是着眼于一個特定的技術領域; 2)其他核心黑客們可能比你更勝任這個工作。可以通過運作在和Linux核心相同的硬體環境上的kernel來解決該問題,它會為你管理繁瑣的工作,如引導過程,存儲管理等等。為此,你必須找到一個分享一些重要的硬體資源的有效方式,來使這兩個核心可以在同一台機器并行運作,并提供了一種對各自應用的最适應服務。ADEOS就是這樣一個共享層。

ADEOS的一個直接的應用是它在和Linux的相同硬體上并行運作實時系統,由于實時應用相對于硬體中斷處理比普通的Linux的優先級更高,實時機器必須始終在Linux核心之前有機會處理任何觸發的中斷,進而使實時處理能盡快處理。實時意味着在處理事件時是确定的,ADEOS給RTOS提供了一個友善的層來實作實時性。在這個意義上,ADEOS是一個實時系統推動者。

GNA:介紹一下你自己,有多少開發人員經常給ADEOS項目做貢獻,這個項目是如何推進的?

菲利普:我39歲,為一個開放源碼軟體服務和支援的公司Openwide工作,我寫了大部分的ADEOS的代碼庫,除了2.4核心的PPC移植,它主要由Wolfgang Grandegger完成。其他幾個人給我們提供了具體的bug修複和意見回報。

GNA:這個項目是什麼時候啟動的,為什麼要啟動?

菲利普:這個項目有兩個不同的階段,第一個階段可以追溯到2000年,當時卡裡姆發表了名為“自适應域環境的作業系統”的論文,該論文描述了一個簡單而聰明的方案上在一個硬體上的多個核心間共享相同的硬體資源,然後他舉例說明了在x86硬體上通過“管道”的抽象方式來共享中斷,根據不同核心在管道中的優先級來依次分發中斷。是以,這篇論文提出了一種新的中斷優先級方式使基于Linux核心的實時擴充可以不利用一些專有的實時作業系統的專利方法。

兩年後,當時我正在開發一個基于Linux的GPL的實時擴充名為Xenomai,圍繞該軟體專利的範圍的FUD已經變得如此激烈,任何送出不侵犯專利的GPL的實時代碼似乎變得不可能。這是軟體專利的大問題:他們被授予給相信他們先“發明”專利的那些人而他們不過是弄“明白”專利罷了,是以這些人要麼是玩世不恭要麼是一無所知,這足以讓你感到緊張。

為了應對這種掠奪性的威脅,我決定去實作卡裡姆的ADEOS,讓我的基于GPL的Xenomai可以利用它,并最終不會被專利所阻礙。作為其中的一個結果,Linux 2.4.18的第一個ADEOS更新檔已經于2002年6月6日釋出。

GNA!那這後事情進展的如何?你的計劃是什麼?你如何看待ADEOS的未來?

菲利普:首次釋出的幾個月後,ADEOS已經被RTAI項目,一個著名的Linux實時擴充,所采用。你可以想像,這一舉動顯著地推動了ADEOS的開發。很明顯,有一個龐大的使用者基礎來測試你的軟體将縮短它達到成熟的時間。

此後,對用戶端的核心的優先級中斷管道的基本方案不斷得到改進,并且還擴充到其他資源,比如陷阱,異常和其他任何感興趣的源于核心的事件。

從第一天開始,這個想法就是在一個無縫的方式下虛拟化關鍵資源,提供一個架構無關的層,在這個層上可以和Linux并行運作的獨立核心,除了x86,ADEOS已經被移植到IA64,有/沒有MMU的ARM和PPC,我們也移植ADEOS到2.6核心中,這是目前我們的主要發展重點。

作為一個實時系統的實作者,ADEOS目前提供了在同一硬體上運作實時作業系統以及Linux的所需要的核心服務,更重要的是,目前ADEOS的進化為下一個被稱為“融合”的RTAI技術所推動。通過這種方式,我們想要整合vanilla Linux和它的RTAI擴充到共生水準,給普通的Linux任務提供嚴格的實時保證。

未來的方向,包括将它移植到其他CPU架構,同時還緻力于更好的元件化的代碼庫,為此,我打算将基本中斷管道核心作為一個獨立的組成部分,給隻關心原始的中斷處理服務的人使用。

GNA:你為ADEOS選擇什麼許可證,為什麼?

菲利普:是GPL,因為它是一個自由軟體。另外,也是因為ADEOS的實作了解并使用了Linux核心的内部操作,是以它遵守核心的許可證。

GNA:你能不能說一些ADEOS在真實世界的使用情況?

菲利普:對于冰山的可見部分,ADEOS最突出的使用者是RTAI項目,該項目在GNU/Linux環境充分利用其管道技術來實作一個成熟的RTOS。RTAI已經有全球範圍内的很多使用者,HYADES 項目也貢獻了ADEOS的安騰相關的移植。

GNA:你有沒有産業界或機構的支援,如果有,是怎麼一個情況?

菲利普:我們剛才談到了我們是HYADES項目組合的成員,泰利斯集團已出資IA64的移植,而最近,DENX軟體工程慷慨地為我們提供了PPC移植的測試平台。

不過,目前還沒有持續的工業或機構對ADEOS項目的贊助。

GNA:您是否在尋找貢獻,如果是的話,什麼樣的貢獻可用于該項目?

菲利普:我想這每一個自由軟體項目正在尋求積極的貢獻者。首先,我們想在更多的架構上移植ADEOS,我們手頭上的硬體非常有限,是以我們主要是靠一些機會,像人們給我們一些特定的硬體,或是他們自己移植。接下來,我們希望擁有核心的軟體開發技能的人去盡可能優化的中斷管道,尤其是對那些記憶體帶寬低的非x86架構。我确信,在将來後者的問題是很重要的。

GNA:你用什麼工具開發ADEOS,為什麼?

菲利普:就我而言,我的首選工具是我的大腦,順便說一句,這或許可以解釋為什麼在過去的兩年中我們送出了超過200個更新檔用于修複以前版本中的bug或限制:○),我個人希望能夠使用任何現有的調試器開發ADEOS,但是這在最需要的地方卻無法選擇:當錯誤在中斷路徑的某處時,調試器通常無法使用。現在的代碼庫是穩定的,我比較傾向于用特殊的手法來解決某一架構的中斷延遲問題,因為調試器無法使用,至少在處理數百微秒時太麻煩。正如你所看到的,在我的工具集裡沒有什麼特别的。

GNA:還有别的嗎?

菲利普:享受樂趣。

繼續閱讀