首页 > 科技 > > 正文
2021-06-27 19:22:05

Android和Linux重新合并成一个操作系统

导读 Linux又回到了Android中,Android又回到了Linux中。Android一直都是Linux,但多年来Android项目走了自己的路,它的代码没有被合并回主L

Linux又回到了Android中,Android又回到了Linux中。

Android一直都是Linux,但多年来Android项目走了自己的路,它的代码没有被合并回主Linux树中。现在,比Linux的创始人和主要开发人员Linux的预期要快得多,Android已经正式并入Linux的主线。

Android和Linux之间的叉子都是从2010年秋天开始的,“谷歌工程师帕特里克·布雷迪(PatrickBrady)说Android不是Linux”,这种情况实际上从来没有发生过。Android一直是Linux的核心。

与此同时,谷歌确实将Android带向了一个与主流Linux内核不兼容的方向。正如Linux基金会的稳定Linux内核维护者、Linux驱动程序项目负责人格雷格·克罗赫-哈特曼在Android和Linux内核社区中所写的那样,“Android内核代码不仅仅是内核中的驱动程序/分期/Android子目录中的几个奇怪驱动程序。为了获得一个工作的Android系统,您需要他们创建的新锁类型,以及核心系统中的钩子作为他们的安全模型。为了编写一个驱动程序,让硬件在Android上工作,您需要正确地集成到这个新锁中,以及有时奇怪的安全模型。噢,然后还有完全不同的帧缓冲区驱动程序基础设施。”就像是Android圈子里的领头气球。

这种分歧来自几个方面.其中之一是谷歌的Android开发者采用了自己的方式来解决WakeLocks的权力问题。另一个原因,正如谷歌开源工程经理克里斯·迪博纳(Chris DiBona)所指出的那样,是因为Android的程序员忙于Android设备的具体工作,所以他们在与Linux内核开发人员的协调方面做得很差。

结果是,开发者圈子里有很多关于Linux中处理Android特定代码的正确方法的热词。争议的结果是,2009年底Torvalds将Android驱动程序从主要Linux内核中删除。

尽管存在这些分歧,但从来没有任何危险,因为一个人在2011年3月声称,Android在某种程度上有被Linux起诉的危险,因为Gnu通用公共许可证,版本2(GPLv2)违规。正如Linus本人当时所说,声称Android侵犯GPL是“完全虚假的”。我们一直非常清楚地表明,内核系统调用接口不会像GPL那样产生派生工作,内核详细信息也会通过内核头输出到所有正常的glibc接口。

不过,在过去几个月里,正如去年秋天Torvalds所解释的那样,“虽然还有很多合并要做......最终Android和Linux将回到一个通用的内核,但可能要4到5年才能实现。”Kroah-Hartman当时补充说,一个问题是,“谷歌的Android团队非常小,而且订阅量过高,所以他们的资源受到限制,从长远来看,他们和我们一起工作会更便宜。”托瓦尔兹接着补充说,“我们只是暂时走向不同的方向,但从长远来看,双方会走到一起,所以我不担心。”

在这种情况下,两人的重新合并比预期的要快得多。在10月下旬布拉格举行的2011年内核峰会上,Linux内核开发人员“同意大部分Android内核代码可能应该合并到主线中。”为了帮助这一过程,形成了Android Mainline项目。

事情发展得比任何人预料的要快得多。到12月,Kroah-Hartman可以写到,“到3.3内核版本时,大多数Android代码将被合并,但仍有更多的工作要做,以更好地集成内核和用户空间部分,以更适合内核社区的其他部分。这需要更长的时间,但我预计不会涉及任何重大问题。”他是对的。

今天,您可以在Linux3.3中编译Android代码,它将启动。尽管如此,正如Kroah-Hartman所警告的那样,WakeLocks仍然不在主内核中,但即使是这样的工作也在进行中。出于所有必要的目的,Android和Linux又回到了一起。