位置:海鸟网 > IT > linux/Unix >

分析称Android和Linux正在合并为一种操作系统

多年来,Android一直是Linux的一个变体。Linux 3.3的发布使两者又合二为一了。

Android从来都是Linux,但多年来Android一直独立发展,其代码没有被整合到主流Linux中。Linux鼻祖、首席开发者莱纳斯·托瓦兹(Linus Torvalds)希望Android正式回归Linux。

Android和Linux的纠纷起源于2010年秋季,Google工程师帕特里克·布拉迪(Patrick Brady)当时称Android不是Linux。但实际情况并非如此,从本质上来说Android就是Linux。

Google为Android确立了不与主流Linux内核兼容的策略。Linux基金会(Linux Foundation)稳定版Linux内核维护工程师、Linux驱动程序项目(Linux Driver Project)掌门格雷格·克罗赫曼(Greg Kroah-Hartman)表示,“Android内核代码不只是drivers/staging/android目录下的一些驱动程序。Android系统的正常运行需要Google新开发的lock类型,以及核心系统中的hook。要为Android开发硬件驱动程序,开发者需要正确地使用新lock和奇异的安全模式。另外,Android还使用了完全不同的帧缓冲器驱动程序接口。”

Android和Linux之间的差异来自多个方面。其中之一是Google的Android开发团队采用自主方式解决能耗问题;另外一个因素是Android团队忙于开发Android设备细节问题,在与Linux核心团队合作方面做得不够好。

开发者社区在如何恰当地在Linux中处理Android特有代码方面有很多争论,争论的结果是托瓦兹2009年年末将Android驱动程序剔出Linux内核。

尽管Android团队和Linux团队有分歧,但Android从来没有面临因违反GPLv2而遭到Linux团队起诉的风险。托瓦兹曾表示,有关Android违反GPL的说法是“完全错误的”。

托瓦兹去年秋季曾表示,“尽管还有许多工作需要做,但Android和Linux最终将回归相同的内核,这一工作在4-5年内无法完成。”克罗赫曼当时也表示,问题之一是,“Google的Android团队人员少,任务紧,资源有限,从长期来看,与我们合作有助于他们降低成本”。托瓦兹说,“我们只是过去一段时间的方向不同,从长期来看我们还会合二为一,所以我没有什么好担心的。”

Android和Linux整合的步伐快于预期。在去年10月份的内核峰会上,Linux内核开发者“一致认为,Android内核代码应当整合到主流内核中”,并因此创建了Android主流化项目(Android Mainlining Project)。

克罗赫曼去年12月份表示,“在3.3版内核发布时,Android内核的绝大部分内容将被整合到主流内核中,但还有许多工作需要完成,才能更好地满足内核社区的需求,这需要更长的时间。”

目前,Android代码可以在Linux 3.3中编译,而且能够运行。但克罗赫曼指出,Android的WakeLocks尚未被整合到主流内核中。