WEB开发网
开发学院手机开发Android 开发 Linux Kernel 驱逐 Android:到底发生了什么 阅读

Linux Kernel 驱逐 Android:到底发生了什么

 2010-02-09 04:20:00 来源:WEB开发网   
核心提示:前日Linux Kernel维护者Greg Kroah-Hartman把Android代码从Linux Kernel代码库中删除的消息引来了广泛关注,开发界已有很多评论对此事进行讨论,Linux Kernel 驱逐 Android:到底发生了什么,ifanr今日提供了当天Greg声明的全译文,下面就让我们来看看,以得到

前日Linux Kernel维护者Greg Kroah-Hartman把Android代码从Linux Kernel代码库中删除的消息引来了广泛关注,开发界已有很多评论对此事进行讨论。ifanr今日提供了当天Greg声明的全译文,下面就让我们来看看。

2.6.33 版内核移除了Android的代码。很多人不断地问我发生了什么,对于Android下一步要怎么办。这里是我对整件事情的澄清:

首先,我很喜欢Android平台。直到上周,我还每天使用我的开发手机G1。它工作良好,作为用户我很满意。另外,从技术角度我也很喜欢他。令人惊奇的是,Google仅仅使用Linux内核构建了一个可移植的和健壮的手机平台,而并没有使用”传统”Linux的任何其他东西。更加难能可贵的是,你可以在Android系统之上安装一个”真正”的Linux镜像,两者都能正常工作而无需任何修改。

Android 也解决了手机制造商多年来遇到的问题:它创造了一个免费的Java虚拟机和统一的应用软件层,使程序可以在所有集成它的手机平台上运行。因为他它的出现,所有现存的”Linux手机协会”(”Linux Phone Consortium” )组织都宣告终结,或者即将关闭。

出了什么问题?

发生了什么致使Android内核代码被删除?简单的说,没有人关心代码,所以他被删除了。正如我之前的声明,开发分支的代码需要继续修改才能合并进内核主线内核树,否则将被删除。但是,这儿还有更严重的问题。Android代码不仅仅是drivers/staging/android目录下的一些驱动程序。 Android系统的正常运行,需要Google创建的一种新的内核锁和其安全模型锁依赖的核心系统中的钩子(hooks)。要写出能够在Android 上执行的驱动程序,你需要恰当的使用新的内核锁,有时候还需要使用怪异的安全模型。

这意味着所有为Android硬件平台编写的驱动都不能融合进主线内核树,它们在主线内核中会编译失败。因为它们依赖的代码只存在于Google的内核分支中。因为上面这些,Google阻碍了大量硬件驱动、平台代码和主线内核树的整合。并创建了一个很多制造商现在依赖的内核分支。(译者评论:邪恶的做法,利用开源的成果谋利,而并没有回馈开源社区)

创造内核源代码分支并没有问题,几乎每一个发行版都有自己的分支。但是更糟的是,Google不把他们的代码整合进主线内核树,使编写驱动和平台代码的公司无法回馈开源社区。内核开发社区早在几年前就告诉这些公司使他们的代码合并进主线内核,以得到自动的安全修复和自动处理API变动,很多公司听从建议,内核的每次发布都包含大量这些公司贡献的代码。

1 2  下一页

Tags:Linux Kernel 驱逐

编辑录入:coldstar [复制链接] [打 印]
赞助商链接