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

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

优秀的个人博客,低调大师

微信关注我们

原文链接:https://www.oschina.net/news/111524/google-plans-for-mainline-linux-kernel-support-in-android

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
优质分享Android(本站安卓app)

优质分享Android(本站安卓app)

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Eclipse(集成开发环境)

Eclipse(集成开发环境)

Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。

Java Development Kit(Java开发工具)

Java Development Kit(Java开发工具)

JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。

Sublime Text 一个代码编辑器

Sublime Text 一个代码编辑器

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。