社区应用 最新帖子 精华区 社区服务 会员列表 统计排行
  • 927阅读
  • 0回复

[分享]安卓:集成驱动不如Windows

楼层直达
z3960 
级别: FLY版主
发帖
786360
飞翔币
211578
威望
215717
飞扬币
2615651
信誉值
8


安卓:集成驱动不如Windows,感兴趣的网友们跟着小编一起去了解下吧!
“google发布Android时为什么不集成一些常见的驱动,手机硬件厂商为什么不能像PC厂商那样直接向用户提供设备的驱动。”
相信很多网友对于Android的碎片化都有所耳闻,而万碎万碎万万碎说出的这个问题确实是更好解决Android碎片化问题的最佳方案之一,而之所以没有成功的去实施这个方案的原因在于windows与安卓有很大的不同,这个不同点,就让小编给大家简单的说一下。

首先第一点,windows平台的硬件相对于Android的硬件来说简直太少了。
windows/linux由于对于x86/64架构的通用性完全标准化,这个其实是历史的原因。在很久很久以前,IBM还是传说中秒天秒地秒宇宙的时候,为了干掉竞争对手MAC,使出终极技能”PC规则规范化“然后带领着一众小弟Intel、windows这些小弟一起开辟新的世界。
然后把指令集统一,不管怎么换,都是那两家,而硬件接口、针脚、协议等等很多也都做出了相应的规范化。然后CPU、内存、南北桥下PCIE等等这些架构完全统一。这样就导致了各家OEM做的各式各样的东西随便换,随便玩。而这样做的好处就是windows面临的不同的CPU架构少之又少,造成了现在windows轻轻松松给这些硬件集成这些驱动。现在若要让windows开源,那场面简直酸爽。
而Android就不同了,Android需要面对不同的cpu架构,虽然一开始Google就学习IBM将软件部分开源了,但是众多的硬件在不同的厂商手机随便玩耍,也带来了就是各家维护各家的事情了。随便举个例子,例如Android在不考虑指令集的情况下有ARM/MIPS/x86三种,而如果把不同设备类型之间最基本的驱动全部写进内核里面,如果一个架构需要120MB,那么三个架构就是360MB,再加上乱七八糟的应用,导致刷机包可能会超过1GB,正因为这种原因导致了Android无法把驱动集成。
至于手机硬件商为什么不直接向用户提供设备驱动?
这个原因其实就是Android是运行在linux之上的操作系统。简单的拆解Android系统来看,Android的层次可以分为底层是linux,中间是叫做Dalvik的java虚拟机,而上面则是Android运行时库。而linux采用的是宏内核,内核和驱动是在一起的,如果要添加驱动,基本上就得需要重新编译内核了。
以上皆是小编的一些拙见,若有不对的地方,烦请诸位网友大神帮忙点出,小编在这里感激不尽。
关键词: 安卓
 
我不喜欢说话却每天说最多的话,我不喜欢笑却总笑个不停,身边的每个人都说我的生活好快乐,于是我也就认为自己真的快乐。可是为什么我会在一大群朋友中突然地就沉默,为什么在人群中看到个相似的背影就难过,看见秋天树木疯狂地掉叶子我就忘记了说话,看见天色渐晚路上暖黄色的灯火就忘记了自己原来的方向。