level 8
ReactOS团队成员访谈录-"Alex Ionescu"
by Klemens Friedl on 2006-11-21
Alex Ionescu
由 Klemens Friedl 与 Alex Ionescu 进行的采访
这是第二个与 ReactOS 开发者进行采访的采访系列。这几个星期里,我们将会有个好的收集关于展示 ReactOS 背后的人才。

Alex Ionescu (右旁的那一位)Alex Ionescu 是在 1986 年出生于布加勒斯特,罗马尼亚(欧洲)。他目前居住在蒙特利尔,加拿大并且是康科迪亚大学软件工程系的学生。他自从 2004 年以来一直都参与 ReactOS 的活动并且已经为许多不同的部分做出贡献。最近他的许多作品都是围绕在内核和HAL (硬件抽象层)相关的工作。
开始
您是如何参与 ReactOS?
当我对编写自己的操作系统感到十分兴趣的时候我就与 ReactOS 接触并且也在发现 NT 内核和其服务是多么良好及丰富的设计。我原先对 ReactOS 没有抱上多大的希望直到我看到 0.2.0 的发布,终于增加一个图形界面。我在 0.2.2 的时候开始加入并且开始提供小补丁。在那时候我完全不会 C 语言。
所以到那时之前您都是为 Windows 编写程序?
是的,我是工作于组合语言,研究计算机病毒,以及编写 VB 程序来揭发某些 NT 内核和服务的功能。
您是否还记得您所提交的第一个补丁?
是的,它是个非常简单的补丁以便在内核里被 Ps(进程管理器)所杀的线程时能够保存线程的退出时间。
您是否还记得您第一次对 ReactOS 做了什么工作?
我第一个真正的工作是添加为数大约 1400 位存根到内核。直到那时之前,原先的概念只不过是只有函数被导出后将会事先被实现。这是非常糟糕的,因为如果一个函数不存在时,驱动程序则完全不会被加载。事实上最好有所有的函数存在,然后再存根它。至少驱动程序会先载入而且您可以查看其他 API 是否能够完好运行,您可能最终都无需该 API 也能够完好运作。
与 ReactOS 所在的乐趣
您最喜欢处理ReactOS 的哪个部分?
多数我最喜欢处理 HAL(硬件抽象层),因为它是与内核一样低的层次但是比较分割又独立的组件。在一些工作量下,您甚至可以轻易将它运作于 Windows NT。当然,我也喜欢在内核上工作,可是兼容性以及损坏问题可以是令人非常心痛不已,从而破坏了其乐趣的性质。
您所做的什么工作是当中最具有挑战性的?
很可能是工作牵涉到 FreeLDR 以及内核和其他镜像是如何的载入,和重写对象和进程管理器,因为它们是非常重的组件。但是我要说当中最具有挑战的是底层微内核的工作于 Ke,例如系统调用句柄,系统自陷,中断,异常以及线程调度 + 上下文、切换,还有在 HAL 处理 IRQ / 中断的工作。
如果您有一样东西希望 ReactOS 能够做到,那会是什么?还是那个已经完成了?
我真的非常希望我们有个新的资源管理器壳,好像 Windows,而非目前我们所有的壳,因为坦白地说多数人会觉得非常不具有吸引力以及非常破损。
您已经在 ReactOS 的内核付出许多。当中您真正喜欢哪个部分?
我喜欢的部分是进程和对象管理器,以及执行单位。因为它们是大但相对简单的组件,而且您将能够学到很多关于如何应对整个 NT面向对象的性质以及它是如何处理用户模式。
会议
您已经给了许多关于 ReactOS 的会议及讲座,您觉得遇见其他开发者是否有用?
通常是的,因为深入到社区的其他成员时常将能够给您新的点子和见解,也同时给您一个公正的进展意见以及您在整体上您在这个行业里所做的改变。当然,有时会出现一些负面的观点,但是那些将会帮助您更好的准备如何去应对它们。