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。
2024-08-19 广告