请大家科普安卓系统,谷歌,三星小米华为手机系统关系与区别?

您好,很高兴回答您的问题。作为资深Android 开发工程,从以下方面回答您的问题:手机系统种类Windows Phone ,是微软2010年发布的一款手机系统,简称WP,一开始是基于WinCE内核的,后面升级改用了与Windows相同的Windows NT内核,该手机系统最初是用在诺基亚上面,普及率不高,慢慢退出历史舞台了。

苹果的IOS系统,苹果公司于2007年发布,一开始是用于Iphone,后面扩展到mac,touch,ipad等设备,其系统都是基于商用版的Unix系统,以流畅度、友好的用户体验感著称。Android,是谷歌基于开源Linux系统开发的一款手机系统,到目前为止已经经过第三方ROM厂商定制后,衍生出各种各样的定制版本,国内最出名的华为、小米,国外的三星都基于此。

Android系统之间的区别基于Android修改过来的系统,不管是华为的EMUI、小米的MIUI,亦或是魅族、VIVO、OPPO,本质上还是属于Android系统,只不过是他们在Framework层以上做了UI定制,性能优化,增加服务,或是驱动针对硬件修改和调教,这些改动是私有的,对内核部分修改必须遵循开源协议,一般也不会动这一部分。

谷歌关闭Android系统?谷歌能关闭Android系统,这是一个假命题!开源后,任何人都可以下载修改,但前提是下载修改的部分也必须遵循开源协议。Android系统虽然开源,但谷歌框架GMS并不开源,所以谷歌能禁止的是GMS,但不能禁止Android。在国内,GMS的影响甚微,甚至看不到它的应用场景,因为,国内可替代GMS中功能的厂商太多,如地图,在中国可以使用百度、高德等等,如支付,在中国可以使用微信支付、支付宝等,如消息推送,在中国可以使用友盟等;但是在国外就不一样了,在国外GMS与苹果应用商店平分天下,没有GMS,国产手机在国外几乎寸步难行。

禁用GMS对国产手机的影响现在华为在搞自己的鸿蒙系统,并主导HMS生态建设,当谷歌禁用GMS的时候,HMS可以备用而上,但是前期注定是痛苦的,华为生态需要在苹果和谷歌的生态之间夹缝生存,当生态建设起来后,谷歌在禁用GMS,那也影响不到华为。但对目前使用GMS的厂商来说,在国内影响不大,顶多是这些手机不能使用一部分国外应用而已,但在国外那是相当致命的,试想一下,一部手机不能用导航、不能手机支付、不能获取消息推送、不能收取邮件等等,那根砖头,老人机有什么区别。

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

首先作为一个前资深的 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内核主线上,后续其实还有很多工作要完成。


文章TAG:版本  手机  8.0  谷歌  
下一篇