过期罐头电脑论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 5137|回复: 0
收起左侧

[经验技巧] 安卓android为什么不能像windows一样自带常用硬件驱动

 关闭 [复制链接]
紫炎龙 2015-9-11 16:38:03 | 显示全部楼层
安卓android为什么不能像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无法把驱动集成。
至于手机硬件商为什么不直接向用户提供设备驱动?
EDD017EAE22A4C86ACA21C8218BE41AB.jpg
这个原因其实就是Android是运行在linux之上的操作系统。简单的拆解Android系统来看,Android的层次可以分为底层是linux,中间是叫做Dalvik的java虚拟机,而上面则是Android运行时库。而linux采用的是宏内核,内核和驱动是在一起的,如果要添加驱动,基本上就得需要重新编译内核了。(过期罐头电脑论坛 www.gqgtpc.com

您需要登录后才可以回帖 登录 | 注册

本版积分规则

一键重装系统|雨人系统下载|联系我们|网站地图|过期罐头电脑论坛

GMT+8, 2024-3-19 13:40 , Processed in 0.042781 second(s), 28 queries .

官方免责声明:本站内容来自网友和互联网.若侵犯到您的版权.请致信联系,我们将第一时间删除相关内容!

Powered by Discuz!

专注于win7_win10_win11系统下载装机

© 2010-2023 GQGTPC.Com

快速回复 返回顶部 返回列表