译至: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:还有别的吗?
菲利普:享受乐趣。

[开源名人访谈录] Philippe Gerum的更多相关文章

  1. xenomai内核解析之嵌入式实时linux概述

    Linux系统作为一个GPOS(通用操作系统)发展至今已经非常成熟可靠了,并且由于遵循GPL协议,开放所有系统源代码,非常易于裁剪.更重要的是,与其他开源的GPOS或RTOS相比,Linux系统支持多 ...

  2. 在linux跑xenomai vkworks skin的测试

    1 代码 ############################################################## /* * Copyright (C) 2001,2002,200 ...

  3. 了解Linux实时内核

    了解Xenomai过程中,对现阶段的RTOS进行总结如下: 把现阶段的RTOS分成两个阵营: 非Linux阵营:VxWorks,RTEMS Linux阵营 :RT-linux,Preempt-rt,W ...

  4. xenomai内核解析之xenomai的组成结构

    @ 目录 一.xenomai 3 二.xenomai3 结构 这是第二篇笔记. 一.xenomai 3 从xenomai3开始支持两种方式构建linux实时系统,分别是cobalt 和 mercury ...

  5. 《Node.js实战(双色)》作者之一——吴中骅访谈录

  6. C++ 开源库

    1.C++各大有名库的介绍——C++标准库 2.C++各大有名库的介绍——准标准库Boost 3.C++各大有名库的介绍——GUI 4.C++各大有名库的介绍——网络通信 5.C++各大有名库的介绍— ...

  7. 机器学习英雄访谈录之 DL 自由职业者:Tuatini Godard

    目录 机器学习英雄访谈录之 DL 自由职业者:Tuatini Godard 正文 对我的启发 机器学习英雄访谈录之 DL 自由职业者:Tuatini Godard Sanyam Bhutani 是 M ...

  8. 【硅谷问道】Chris Lattner 访谈录(下)

    [硅谷问道]Chris Lattner 访谈录(下) Chris Lattner 访谈录(下) 话题 Swift 在 Server 和操作系统方面有着怎样的雄心抱负? Swift 与 Objectiv ...

  9. 【硅谷问道】Chris Lattner 访谈录(上)

    [硅谷问道]Chris Lattner 访谈录(上) 话题 Chris Lattner 是谁? Xcode 的编译器 LLVM 背后有怎样的故事? Swift 诞生的前世今生,封闭的苹果为何要拥抱开源 ...

随机推荐

  1. python工业互联网应用实战16-前后端分离模式之修改与删除

    前一章节介绍了List页面的JQuery技术栈的迁移,这一章节我们花一些篇幅来说说修改/查看页面的技术栈迁移.相对于List的获取数据,修改页面涉及到数据Post提交到后台更新数据库.我们仍旧小步迭代 ...

  2. 【数据结构与算法】多种语言(VB、C、C#、JavaScript)系列数据结构算法经典案例教程合集目录

    目录 1. 专栏简介 2. 专栏地址 3. 专栏目录 1. 专栏简介 2. 专栏地址 「 刘一哥与GIS的故事 」之<数据结构与算法> 3. 专栏目录 [经典回放]多种语言系列数据结构算法 ...

  3. [LeetCode] 1744. 你能在你最喜欢的那天吃到你最喜欢的糖果吗?

    都儿童节了,为什么要折磨一个几百个月大的孩子? 把题意读懂挺难的.不过读懂后基本也就知道怎么做了.恶心的是int类型可能会越界,要用long类型(很难想到).这题不好 [1744. 你能在你最喜欢的那 ...

  4. SQL Server 50道查询训练题,学生Student表

    下面这个是题目所用到的数据库! 首先你需要在你的SQL Sever数据库中创建[TestDb]这个数据库,接下来下面这个代码.直接复制在数据库里运行就好了! 1 USE [TestDb] 2 GO 3 ...

  5. AI推理单元

    AI推理单元 推理服务供了一套面向 MLU(Machine Learning Unit,机器学习单元)设备的类似服务器的推理接口(C++11标准),以及模型加载与管理,推理任务调度等功能,极大地简化了 ...

  6. 用Microsoft DirectX光线跟踪改善渲染质量

    用Microsoft DirectX光线跟踪改善渲染质量 Implementing Stochastic Levels of Detail with Microsoft DirectX Raytrac ...

  7. ubuntu虚拟机安装ssh教程

    大家好,这期给大家带来一期Ubuntu虚拟机中ssh的安装教程,话不多说,开整 第一步:输入su后输入密码进入root权限 第二步:在管理员模式下运行apt-get install openssh-s ...

  8. 使用ElementTree解析,操作xml

    一.最近在实际工作中需要对一部分接口进行测试,接口的入参与出参都是xml格式的数据,所以用到了python内部模块ElementTree对xml进行解析,并根据实际需求操作xml数据 二.代码示例 # ...

  9. 把HttpClient换成IHttpClientFactory之后,放心多了

    前言 关于HttpClient的使用,个人在很多场景都派上用场了,比如在Winform或后台服务中用其调用接口获取和上传数据.微服务中用其进行各服务之间的数据共享等,到目前来看,似乎还没有出现过什么问 ...

  10. 从JDBC到ORM的事务实现

    一.JDBC 早期SUN公司想编写一套可以连接天下所有数据库的API,但是当他们刚刚开始时就发现这是不可完成的任务,因为各个厂商的数据库服务器差异太大了.后来SUN开始与数据库厂商们讨论,最终得出的结 ...