Google 的 Android 为什么不自主开发一个内核而要用 Linux 内核

如题所述

恰恰相反,linux最难的部分就是它的kernel.作为在n个开源或不开源的嵌入式系统下写过m种设备驱动的人,我想说,设备驱动的编写难度,绝对是吊丝级的。

其次,嵌入式的设备不需要同时技持什么成千上万种设备,不像是电脑,你换个声卡显卡重装驱动就OK了。你可以把你手机的屏幕换一个别的型号试试,硬件接口都不一样,软件需要去做支持吗?

再次,手机中需要的外围设备也没有成千上万那么夸张~。

现在回答题主的问题。google为什么要用linux.
1,不要拿google与apple类比。它们两个不是同一种公司。
google是互联网公司,google是靠服务挣钱的。而apple是设备商。apple要做的是apple认为最人性化的设备,用设备去赚钱,apple的软件是为apple的设备服务的。

2,智能设备需要一个有着优秀管理能力的多任务操作系统。没有人花钱让你去从头去开发这样一个系统。这个难度很大。

3,不是google选择了linux。是google选择了android, 而anroid选择了linux。当然,如果android当年用的并不是一个开源系统。google不一定会选择它。

4,一个稳定的,开源的,全球有众多工程师免费帮你升级维护的系统。对于一个互联网公司,它还不是最佳的选择吗?

5,linux功能强大,它的很多feature都能满足android的需要。且免费,免维护费。我想这是android最初选择linux的原因。或者说在android还不叫android之前,就选择了linux的原因。请看第6条。

6,最后,讲一个故事。曾经一个sun的大牛跳到了moto(也可能是被挖过去的)。因为是sun出来的人,到moto就建立了这样一个项目,底层是c(不记得是不是linux了)上层是java的系统用于手机。那个年代还是moto是业界老大的时代。所有的手机系统(包括界面)都是用c编写的,木有c++,更木有java。那个年代的手机cpu的主频26M是比较快的,想象一下,在这样的处理能力下,先跑一个c的系统,再跑一个虚拟机,再运行java是什么感觉?那个项目的bug满天飞啊~~~最后,这个项目最后在moto挂掉了,大牛自然也离开了。再再再最后,这个大牛到了google。

作者:Roy Li
链接:http://www.zhihu.com/question/22057242/answer/20244686
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
温馨提示:内容为网友见解,仅供参考
第1个回答  2018-07-31
包括linux 他最初是也是根据unix修改的
操作系统是非常庞大的
彻头彻尾地建立起一个操作系统的成本是非常高的
linux是目前开源系统中最活跃的系统,很多设备都是使用linux本回答被网友采纳
第2个回答  2016-03-26
你是在逗吗?你以为开发一个操作系统那么容易,linux怎么也算是操作系统里面比较有名的,发展了多年才到今天这个地步,单独开发,你想太多了,你这种是马后炮的想法!

为什么google不给android做一个自启动管理功能?
1,不要拿google与apple类比。它们两个不是同一种公司。google是互联网公司,google是靠服务挣钱的。而apple是设备商。apple要做的是apple认为最人性化的设备,用设备去赚钱,apple的软件是为apple的设备服务的。2,智能设备需要一个有着优秀管理能力的多任务操作系统。没有人花钱让你去从头去开发这样一...

Android Mainlining ProjectAndroid和LInux的分歧
Android内核发展自Linux内核,但随着时间推移,两者之间的兼容性问题日益突出。这一现象主要体现在性能优化、安全更新、硬件适配等方面。为了提升Android的性能和稳定性,Google可能会进行一些定制化操作,这在一定程度上导致了与Linux内核的兼容性问题。此外,Android与Linux之间的分歧还体现在系统架构、组件管理和...

为什么Linux Kernel社区要驱逐Google谷歌的Android
Android和Linux之间的差异来自多个方面。其中之一是Google的Android开发团队采用自主方式解决能耗问题;另外一个因素是Android团队忙于开发Android设备细节问题,在与Linux核心团队合作方面做得不够好。开发者社区在如何恰当地在Linux中处理Android特有代码方面有很多争论,争论的结果是托瓦兹2009年年末将Android驱动程...

Android对内核有什么要求吗?还是随便是个Linux kernel都可以跑Andro...
然而,Android内核并非单纯依赖Linux kernel,谷歌有自己的定制化需求,例如交互式CPufreq调节器,MTP\/PTP功能等。这些功能由于特定原因不能直接提交到Linux kernel,因此在安卓内核中实现。另一方面,一些供应商和OEM特有的功能,如sdcardfs,也通过这种方式为Android设备提供支持。尽管理论上任何Linux内核理论上...

关于安卓跟LINUX的关系~
2、它没有glibc支持 由于Android最初用于一些便携的移动设备上,所以,可能出于效率等方面的考虑,Android并没有采用glibc作为C库,而是Google自己开发了一套Bionic Libc来代替glibc。3、它并不包括一整套标准的Linux使用程序 Android并没有完全照搬Linux系统的内核,除了修正部分Linux的Bug之外,还增加了不少...

安卓智能手机的基于ARM架构的处理器,为什么能够支持基于Linux内核...
而操作系统是一个更广的概念,不光包括内核,还包括了设备驱动、应用程序框架以及一些关键的能够让这个操作系统能为人所用的软件。所以Ubuntu, Fedora等等这些桌面发行版可以看做是包装了Linux内核的、不同的Linux操作系统。Android 开发之初fork了Linux kernel,在其基础上进行了以下改进:1. 添加新的的...

Linux和安卓有什么关系?
Android是基于Linux内核的操作系统,也曾经和Linux基金会因为内核问题产生过分歧。虽然Android基于Linux内核,但是它与Linux之间还是有很大的差别,比如Android在Linux内核的基础上添加了自己所特有的驱动程序。Linux 仅仅是内核,根本就不是一个完整的操作系统。一个完整的操作系统,包括内核,功能库,用户界面三...

android系统的内核基于哪个操作系统?
Android操作系统是由Google和开放手机联盟共同开发的一款移动设备操作系统。在其架构中,内核部分是基于Linux操作系统的。Linux是一款自由和开放源代码的类UNIX操作系统,广泛应用于服务器、嵌入式设备以及个人计算机等领域。由于其开源、稳定和安全的特性,Linux被选为了Android系统的内核基础。Linux内核为Android...

linux和安卓的区别
Android没有本地窗口系统,而Linux是有X窗口系统。Android没有glibc支持,而Linux是有glibc支持的。Android是有自己专有的驱动程序。虽然Android基于Linux内核,但是它与Linux之间还是有很大的差别。

google为什么要从头开发一套新的操作系统fuchsia
执拗的内核 这个东西跟你的手机、平板和笔记本都有关,但你可能还意识不到:它们大多数采用的软件“内核”都相当老。Android使用的Linux内核,是在1991年开始研发的。Mac OS X、iOS等苹果平台是以Unix为基础的,后者源自1969年的贝尔实验室。Windows计算机基于的 Windows NT内核要追溯回1993年。内核的目的...

相似回答