{eval=Array;=+count(Array);}

问答专栏Q & A COLUMN

谷歌系统升级,安卓将采用Linux内核,满足手机高性能需求,你怎么看?

villainhrvillainhr 回答0 收藏1
问题描述:手机行业在不断的更新换代,硬件的不断升级,软件也是如此。
收藏问题

10条回答

bang590

bang590

回答于2022-06-28 10:16

首先作为一个前资深的 Android 程序员,一定要纠正一下这个问题,不是谷歌系统升级,安卓「将」采用 Linux 内核。不是:「将」

而是 Android 一直就是采用的 Linux 内核。安卓(Android)本身就是一种基于 Linux 的自由及开放源代码的操作系统。


系统内核

Android 是运行于 Linux kernel 之上,但并不是 GNU/Linux。因为在一般 GNU/Linux 里支持的功能,Android 大都没有支持,包括 Cairo、X11、Alsa、FFmpeg、GTK、Pango 及 Glibc 等都被移除掉了。Android 又以 Bionic 取代 Glibc、以 Skia 取代 Cairo、再以 opencore 取代 FFmpeg 等等。Android 为了达到商业应用,必须移除被 GNU GPL 授权证所约束的部份,例如 Android 将驱动程序移到 Userspace,使得 Linux driver 与 Linux kernel 彻底分开。Bionic/Libc/Kernel/ 并非标准的 Kernel header files。Android 的 Kernel header 是利用工具由 Linux Kernel header 所产生的,这样做是为了保留常数、数据结构与宏。


Android 的 Linux kernel 控制包括安全(Security),存储器管理(Memory Management),程序管理(Process Management),网络堆栈(Network Stack), 驱动程序模型(Driver Model)等。下载 Android 源码之前,先要安装其构建工具 Repo 来初始化源码。Repo 是 Android 用来辅助 Git 工作的一个工具。


通过上述我们就可以看出 Android 就是运行在 Linux Kernel 之上的,基于授权版权等原因,它只不过是没有 GNU/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 社区等在内的不少人受益。


所以,最近有新闻爆出,谷歌计划将 Android 内核统一至Linux内核主线上,后续其实还有很多工作要完成。


谷歌只是想将 Android 内核统一至Linux内核主线上,Linux内核主线上,Linux内核主线上,重要的事情说三遍,是主线上。其实 Android 一直都是基于 Linux 内核的操作系统。


不知道大家看明白了没有?

评论0 赞同0
  •  加载中...
seanHai

seanHai

回答于2022-06-28 10:16

先纠正一个不准确的地方。安卓的系统一直采用的都是Linux的内核,只是在Linux的基础上,谷歌做了很多内核代码的修改。

2017年,谷歌就修改了超过6万行Linux内核的代码,2018年,谷歌又加入了32000行代码,删除了1500多行代码。但是这并不能改变安卓是基于Linux来研发的事实。

这一次谷歌进行安卓的系统升级,只是对现有的安卓内核进行再一次的升级,让安卓的内核能够更接近于主流的Linux内核。而目的,是准备将安卓内核和应用程序与驱动分离,保持内核的独立于纯净。

谷歌再次进行内核的优化,其核心的目的可能是为了谷歌的新系统Fuchsia铺路。

谷歌很早就在研发自己的新系统Fuchsia,而这也是谷歌的第三个操作系统。Fuchsia已经毫无疑问的将会使用新的内核Zircon,而不再使用Linux内核。不过,Fuchsia将会兼容基于Linux内核的应用程序。

如果要想量Fuchsia拥有更好的兼容性,自然安卓的内核越接近Linux的主流内核,就能够更好的进行兼容。越多的自定义内容,只会让安卓进行Fuchsia的切换时,难度更加的大。

谷歌和甲骨文之间由于安卓系统的各种纠纷,一直让谷歌很苦恼,安卓成为了最大的移动操作系统,但是却使用了Java平台的内容,其中就包括甲骨文没有授权的源代码修改,所以一直官司不断。谷歌的一直想进行安卓的平稳切换,因此,Fuchsia是迫在眉睫的事情。

因此,谷歌在优化安卓的同时,将安卓的内核分离,并且让内核更接近于主流的Linux,这对于谷歌未来的新系统切换有着重要的意义。

评论0 赞同0
  •  加载中...
v1

v1

回答于2022-06-28 10:16

这问题就看不懂了,android本身就是基于Linux内核开发的,而且android也已经满足高性能需求了,虽然android有自己的缺点,但是Linux直接安装在手机上的效果也并没有很好。所以不明白题主想说什么,android换用Linux内核不是就相当于没换嘛。

评论0 赞同0
  •  加载中...
TNFE

TNFE

回答于2022-06-28 10:16

一、安卓本来就是采用linux内核

首先要说明的一点是,安卓是基于linux内核而来的,谷歌并没有否认这一点。只是谷歌在linux内核的基础上,做了很多的修改完善,然后成为了安卓系统。

下面这张图很好的说明了这个问题,所有的系统其实都是基于nuix,然后再发展到linux,而安卓、ucloud鸿蒙基于linux,iOS基于unix。

二、谷歌这次是指让安卓接近目前的主流Linux内核,意思是以后尽量少改,与linux内核尽量保持一致。

前面已经讲过,安卓是linux修改而来的,所以虽然它采用的是linux内核,但却做了修改,谷歌这次升级的意思是以后要尽量少修改,在内核上尽量与linux内核保持一致。

它为何要这么做?有两个原因:

1、同时物联网的到来,linux系统的设备越来越多,它们使用linux内核,而安卓使用修改过的linux内核,之间还是有区别的,所以谷歌打算尽量统一起来,以达到各设备之间的兼容等等,以后大家要更换系统也容易简单了,这样安卓会有更多的机会。

2、谷歌准备将安卓内核和应用程序与驱动分离,保持内核的独立、纯净。这个是基于目前目前linux内核已经很强大了的基础来的。

评论0 赞同0
  •  加载中...
LittleLiByte

LittleLiByte

回答于2022-06-28 10:16

手机行业在不断的更新换代,硬件的不断升级,软件也是如此。最近,各个厂商也不断的研发自己的系统,包括三星ucloud苹果等,而作为安卓的设计厂商谷歌,同样如此。

最近,谷歌将要在安卓系统上使用更加主流的 Linux内核,并加快自己的布局,以适应未来时代对于手机性能的高要求。

在今年的 Linux Plumbers Conference 大会上,谷歌工程师在如何使 Android 系统底层更加接近主流 Linux 内核方面做了演讲。随着 Linux 内核的演变, Linux 内核更加适合在移动设备当中使用,因此谷歌已经不需要对目前主流的系统内核进行很大的改动。升级将会给安卓系统带来更好的安全性和兼容性,给用户带来更好的体验,还能节省谷歌在研发上面的费用。

谷歌也可以将许多 Android 系统内核的优势加入到 Linux 系统内核当中,使 Linux 项目获得整体收益。Android 系统在电源管理方面的优势,可以让基于 Arm 架构的 Linux 系统手机获得更好续航和电池寿命。

计划的第一步是将在 Android 内核方面的修改更多的回归主流 Linux 内核。与 Linux 4.14.0 内核相比,Android 通用内核插入了 32000 行代码,并且删除了 1500 多行代码。与几年前 60000 行代码的插入量相比,谷歌已经大幅度减少了对内核代码的修改程度。

对于芯片制造商与 OEM 商场的修改,谷歌在 2017 年推出了 Project Treble 项目,将驱动程序和应用程序与 Android 内核区分开,从而保持系统内核的纯净度。同时这个项目也是谷歌将 Android 内核回归主流 Linux 内核计划的一部分。

值得一提的是,现在谷歌还在研发新系统,Fuchsia 系统将在未来成为安卓的替代品,这个系统将会采用自定义内核,打通 Linux和安卓的系统隔阂,突破技术限制,成为谷歌新的系统。

谷歌作为现在手机的最主流的系统服务商,决定着市场大份额的用户系统,而安卓系统又是现在国内手机厂商所通用的手机系统。除了ucloud之外,小米ov魅族等几乎都是采用的谷歌的安卓系统,这也就意味着国内大批用户都是用的安卓系统。

在系统软硬件上,被我们一直所熟知的就是不断更新的高通骁龙芯片,但是却对谷歌的安卓系统的更新知之甚少。而谷歌的系统更新将会彻底的改善现在的行业环境,在系统上面的提升也会提升消费者的实际体验,提升谷歌系统的市场。而新的系统的推出也将会对现在的市场格局造成不小的冲击,打通 Linux和安卓隔阂之后的全新系统,将会在未来的手机行业绽放新的光彩。

评论0 赞同0
  •  加载中...
caohaoyu

caohaoyu

回答于2022-06-28 10:16

安卓系统架构分为四层,Linux内核,程序支持库,硬件驱动和程序,UI。Linux内核基本不会换,要更改的也就只有程序支持库。后面两层那是手机厂家要动手的地方

评论0 赞同0
  •  加载中...
Sanchi

Sanchi

回答于2022-06-28 10:16

安卓采用Linux内核,做好了,还要什么电脑系统?未来手机电脑系统和形态全统一,既是手机,又是电脑,只需要解决电子可触屏和电子键盘的问题。。我相信折叠屏,柔性屏一定不是未来的趋势,而电子屏幕必将在未来5年实现!

评论0 赞同0
  •  加载中...
KavenFan

KavenFan

回答于2022-06-28 10:16

安卓修改一下完全可以用在桌面上,而且生态已经很完善了,看谷歌有没有决心或谷歌跟微软是不是有什么约定。

评论0 赞同0
  •  加载中...
Mike617

Mike617

回答于2022-06-28 10:16

这次谷歌版本升级是置换更主流的lunix内核版本,

安卓系统的核心本来就是lunix ➕ Java

但是旧版的安卓lunix核心并不是最主流的内核版本。

这次更换的lunix内核版本增强了网络性能与内核架构的全面优化,是为了下一世代安卓系统的升级而准备的。

评论0 赞同0
  •  加载中...
dongfangyiyu

dongfangyiyu

回答于2022-06-28 10:16

感谢您的阅读!

难道安卓系统之前一直使用的是Unix系统?这让我有点懵圈。了解下安卓系统——它是基于Linux的宏内核操作系统,它是由谷歌和开放手机联盟共同开发,因此它是开源式的系统。

确实,随着谷歌不断加深对于安卓系统的升级,目前的安卓系统已经没有了最早系统的卡顿:

  1. 安卓5.0,安卓引入了AOT安装时静态编译,虽然安装慢,但是安装好后,能够直接进行运行。
  2. 安卓7.0,使用JIT在运行时编译。能够让App在安装时速度快,安装后的体积小。所以,这就是现在方舟编译器攻击的点,因为方舟编译器是提前进行编译,直接运行;而安卓是边运行边编译。
  3. 安卓9.0,加速文件来加速运行。谷歌系统会自动上传应用的高频使用代码位置,然后谷歌应用商店会根据这些上传,编译生成优化文件。当然,在国内因为没有谷歌应用商店,一切都是白塔。
其实,虽然谷歌在努力,国内手机厂商的表现更不容小觑,这里就说到了我们熟知的ucloud,我们知道ucloud通过使用全新的方舟编译器,能够让运行的App,在安装前就能进行编译,让它在系统操作上提升24%,响应速度提升44%,三方应用操作流畅度提升60%左右。



谷歌其实并非是加大安卓系统的力度,而是另辟蹊径,开发了全新的系统flushia。当然,现在关于它的消息不多,据说是为了制约iPhone的系统。
我们更期待的是微内核的鸿蒙系统在手机中的应用,一旦解决生态问题,可能又是一种全新的纷争。

评论0 赞同0
  •  加载中...

最新活动

您已邀请0人回答 查看邀请

我的邀请列表

  • 擅长该话题
  • 回答过该话题
  • 我关注的人
向帮助了您的网友说句感谢的话吧!
付费偷看金额在0.1-10元之间
<