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

 我来答
奔跑的窝牛的家
高粉答主

2017-11-03 · 每个回答都超有意思的
知道顶级答主
回答量:3.6万
采纳率:98%
帮助的人:4421万
展开全部

恰恰相反,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。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式