安卓内核在哪个区,安卓将采用Linux内核

Android是基于Linux内核的操作系统 。然而 , Android设备上运行的内核实际上与谷歌选择的LTS Linux内核有很大不同 。因此 , 谷歌试图缩小Android设备内核与主线Linux内核之间的差距 , 让设备内核更接近上游内核的主线 。
华为鸿蒙OS 2.0兼容安卓 , 是不是意味着底层还是安卓?

安卓内核在哪个区,安卓将采用Linux内核


不是底层安卓 。鸿蒙系统是微内核架构 , 是基于万物互联的理念设计 。不能说鸿蒙2.0系统兼容安卓就是底层还是安卓 。大家都知道的 , 现在微软新版11也是兼容安卓系统了 , 那就是底层还是安卓 , 这样理解就错了 。鸿蒙系统和安卓系统是两个不同的系统 , 不能混淆视听 , 他们的框架和内容不一样 , 服务范围不一样 。鸿蒙系统是世界上崭新的事物 , 是原先所没有的 , 万物互联 , 智联系统 , 而安卓系统是仅用于手机的操作系统 。
谷歌系统升级 , 安卓将采用Linux内核 , 满足手机高性能需求 , 你怎么看?
首先作为一个前资深的 Android 程序员 , 一定要纠正一下这个问题 , 不是谷歌系统升级 , 安卓将采用 Linux 内核 。不是将 。而是 Android 一直就是采用的 Linux 内核 。安卓Android本身就是一种基于 Linux 的自由及开放源代码的操作系统 。系统内核Android 是运行于 Linux kernel 之上 , 但并不是 GNU/Linux 。
因为在一般 GNU/Linux 里支持的功能 , Android 大都没有支持 , 包括 CairoX11AlsaFFmpegGTKPango 及 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 设备前 , 内核会经历三个阶段的 forkGoogle 会先选择某个 LTS长期支持版本的 Linux 内核 , 打上 Android 操作系统的特定补丁 , 使其成为 Android 通用内核紧接着 , 通用内核被交付给高通等 SoC 供应商 , 打上硬件补丁最后 , SoC 内核再被移交至设备制造商 , 打上设备特定的各类元件补丁 , 这也就构成到每台设备中的设备内核 。
【安卓内核在哪个区,安卓将采用Linux内核】这是一个非常漫长的过程 , 执行多个fork , 处理几百万行代码 , 大大拖慢了整个开发速度 。所以安卓设备使用的内核落后于Linux内核主线两到三年 。谷歌最近在10月发布了Pixel 4 , 其Linux内核是2017年11月发布的4.14版LTS 。

推荐阅读