发表文章 返回首页
当前位置: bitsCN.com > linux > 系统管理 > 内核技术 >

Linux兼容内核的三个重要源泉

时间:2008-07-08 00:00来源:中国网管联盟 作者:bitsCN整理 点击:
我们要开发、构建的Linux兼容内核并非无源之水,也不需要从零开始“重新发明轮子”。正如牛顿所说要“站在巨人肩膀上”一样,我们也应该充分利用别人已经取得的成就、特别是开源社区已经取得的成就。 除Linux本身以
  

    ReactOS

    ReactOS项目是一群Windows“发烧友”创立的。他们坚信Windows是个比Linux更好的操作系统,问题仅在于源代码不公开,所以他们要来开发一个开源的Windows内核。令人诧异的是:他们的开发基本上是从零开始的。 中国网管联盟www、bitsCN、com

    Windows与Linux孰优孰劣恐怕是个永远争论不出结论的话题,但是开发出一个开源的Windows内核,让用户可以有多一个选择,那无疑是很有意义的,他们的勇气和毅力更是使人起敬。这个项目的进展也很快,现在已经初具规模。不过,考虑到Windows内核本身的复杂性,ReactOS离实用还是有相当大的距离。在笔者看来,认定要开发一个Windows内核,却坚持从零开始编程、而刻意不去利用现成的Linux代码资源,似乎有点意气用事,也不必要地增加了开发的工作量与难度。而我们的兼容内核,则首先是继承Linux的资源,再反过来补上Windows内核与Linux内核之间的差异,而且即使是对于这些差异也要尽量利用和借鉴现有的开源代码资源、包括ReactOS。 网管网bitsCN_com

    与兼容内核一样,ReacOS也只是个内核,跟完整的操作系统相比,中间还缺着以DLL为主的系统软件这一层。在这个问题上,ReactOS的策略和我们一样,也是利用Wine。另外,即使在内核中,ReactOS也不完全排斥采用别的开源软件,例如其socket机制的实现就采用了Oskit的有关代码(笔者感到不解的是为什么不采用Linux的有关代码)。 中国网管联盟www.bitscn.com

    对于我们来说,ReacOS的可贵之处在于为我们提供了一个可资参考的样本。Windows内核的源代码不公开,ReactOS的源代码却是公开的。虽然ReactOS不等于Windows,但这至少让我们看到另一群人对Windows内核的理解,以及他们的具体实现。

网管网bitsCN_com

    那么我们可以在什么程度上利用ReactOS的代码呢?那要看具体情况: 网管网bitsCN.com

    ? 对于Windows设备驱动框架的实现、包括I/O子系统的实现,ReactOS的有关代码对我们有极其重要的意义,有些代码甚至可以直接加以利用。
    ? 对于NDIS的实现,可以将NDISWrapper与ReactOS中的相应代码作一比较,一方面是择优录用,一方面是互相补充、互相借鉴。
    ? 对于系统调用界面,ReactOS的相应代码可资借鉴。
    ? 对于进程管理和资源管理,可以参照和比较ReactOS和Wine服务进程的有关代码,然后在Linux内核中加以实现。
    ? 对于设备驱动界面(环境),可以根据DDK的定义逐一考察ReactOS的实现(如果已经实现的话),再在Linux内核中寻找其对应物或近似物。然后加以参照比较,以确定具体应该如何实现。 feedom.net

    总的来说,如果某一项功能既已在ReactOS中实现,又可以利用Linux内核中的某些资源加以实现,那么我们更倾向于利用Linux的资源。这是因为一般而言Linux的资源已经经受了更多的考验。另一方面,兼容内核毕竟是个Linux内核,而不是把两个内核堆积在一起。像对Wine一样,笔者将另撰专文介绍和分析ReacOS中的有关代码。 中国网管论坛bbs.bitsCN.com

    最后还要说明,笔者说兼容内核有三个重要的源泉,绝不是说就只有这么三个源泉。海纳百川,有容乃大,只要对兼容内核的开发有用、有助,我们对任何源泉都不应排斥,只是需要择优采用。 网管网bitsCN_com

feedom.net

顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
最新评论 查看所有评论
发表评论 查看所有评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
发布者资料
admin 查看详细资料 发送留言 加为好友 用户等级:注册会员 注册时间:2008-05-08 23:05 最后登录:2009-01-06 01:01
推荐内容