Google 试图将 Android 设备内核统一至 Linux 内核主线

xplanet
 xplanet
发布于 2019年11月22日
收藏 15

Android 是基于 Linux 内核的操作系统,但是,运行在 Android 设备上的内核其实与 Google 选择的 LTS 版本 Linux 内核有很大不同。

在到达每一台 Android 设备前,内核会经历三个阶段的 fork:Google 会先选择某个 LTS(长期支持)版本的 Linux 内核,打上 Android 操作系统的特定补丁,使其成为 Android 通用内核;紧接着,通用内核被交付给高通等 SoC 供应商,打上硬件补丁;最后,SoC 内核再被移交至设备制造商,打上设备特定的各类元件补丁,这也就构成到每台设备中的设备内核。

这是一个及其漫长的过程,执行多重 fork 并处理数百万行代码大大减慢了整个开发速度。因此,Android 设备使用的内核相较于 Linux 内核主线要滞后两到三年的时间。Google 于 10 月份最新发布了 Pixel 4,其 Linux 内核则是 2017 年 11 月发布的 4.14 LTS 版本。并且由于过大的工作量,Android 设备通常不获取内核更新,它将永远停留在 4.14 版本上。

再者,各种设备的内核都不尽相同,一台设备的特定内核无法在其他设备上工作。于是,Google 正试图缩小各 Android 设备内核与主线 Linux 内核间的差距,让设备内核更接近上游内核主线。

在今年的 Linux Plumbers Conference 上,Android 内核团队负责人 Sandeep Patil 表示,他们的目标是从根本上找到 Android 运行所需要的、但不必在给定的硬件上运行的东西,然后将其引入上游并尽可能接近主线。

Google 的打算是复制其早期工作 Project Treble 以模块化 Android。Project Treble 用于在 Android 和 HAL(硬件抽象层)之间创建稳定的接口。与此类似,Google 计划稳定 Linux 的内核 ABI,从而提供一个稳定的写入接口,使硬件供应商可以轻松地插入代码,最终消除特定的设备内核。

Google 的高级软件工程师 MatthiasMännich 展示了一幅预想中的内核体系结构图。“下一代 Android 设备”内核将由通用内核镜像(Generic Kernel Image,GKI)和多个 GKI 模块构成,特定硬件的驱动程序(可能是闭源驱动)将作为内核模块加载。总之在该设想中,所有东西都被模块化了。

考虑到 Android 生态系统的技术壁垒和多样性,这应该不是一件容易的事情。无论如何,将 Android 设备内核引入主线 Linux 内核肯定会使包括 Android 用户、手机制造商和 Linux 社区等在内的不少人受益。不过 Google 的计划刚刚开始,后续还有更多的工作要完成。

参考:arstechnicafossbytes

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 OSCHINA 社区 [http://www.oschina.net]
本文标题:Google 试图将 Android 设备内核统一至 Linux 内核主线
加载中

精彩评论

bye_world
bye_world
啥时候装个驱动跟windows一样简单就是牛逼了
冰镇阳的光
冰镇阳的光
很复杂漫长的工作 由碎片化开始 由统一结束
s
suibian456
一看就是个大工程啊

最新评论(16

不败的米
那以后安卓有可能成为跨平台的操作系统咯?
安装包怕是巨大啥x86 x64 arm arm64 一大堆库
l
liu_nix
Google还是极不要脸的!
bobdog1986
bobdog1986
天下大事,分久必合合久必分
开源中国首席罗纳尔多
开源中国首席罗纳尔多
您好,请问安卓的Linux内核这么旧,那不是Linux的旧版漏洞都能在安卓里面使用?
善良超哥哥
安卓确实越来越好用了。如果能彻底解决碎片化问题就更好了
d
dwcz
还债啊!为了抢占市场而快速开发,整体架构混乱。
s
suibian456
一看就是个大工程啊
冰镇阳的光
冰镇阳的光
很复杂漫长的工作 由碎片化开始 由统一结束
bye_world
bye_world
啥时候装个驱动跟windows一样简单就是牛逼了
任羽飞
任羽飞
厂商不愿意公开,ap和外围设备的还可以,bp的涉及核心专利
古神至尊
古神至尊
支持
返回顶部
顶部