windows为什么能运行在X86架构CPU的机子,而安卓不能直接运行在所有的ARM架构CPU的设备?

我的意思是xp所有x86的机子都可以装,而且不用改任何代码,不同的CPU引脚都不同啊?怎么就通用了?然而安卓也可以运行在任何设备,但是却要修改源码重新编译呢?而且不同的手... 我的意思是xp所有x86的机子都可以装,而且不用改任何代码,不同的CPU引脚都不同啊?怎么就通用了?
然而安卓也可以运行在任何设备,但是却要修改源码重新编译呢?而且不同的手机有不同的ROM包。还不能通用,而APK却能在所有安卓手机安装?
展开
 我来答
匿名用户
2013-10-22
展开全部
首先,微软的XP已经包含了支持所有CPU的HAL,而且对X86来说指令集固定的,遵守Intel那套规范。所以从这个方面上来看,XP也很庞大,里面有很多为了支持用到的冗余包。
基于手机应用的安卓就不一样了,手机的硬件限制导致不能把所有的东西都包进来,而且ARM本身不做CPU,它只提供core,一些外围设备,例如LCD controler, DDR controller由第三方的芯片制造商来完成,所有尽管ARM的指令集也是固定的,但除了core以外的设备需要不同的HAL支持,导致了你所说的问题。
而APK相当于应用程序,与硬件无关,只要是安卓的系统便能够安装,这是因为操作系统已经解决了和底层硬件的联系问题,不需要应用程序去关注了。
更多追问追答
追问
那我抛开操作系统来说,我同一条指令对CPU的内部结构操作是相同的,但是有些是对外部操作的,就是对一些引脚操作这些,PC上怎么保证不同CPU,不同的引脚能做相同的工作?
追答
x86 CPU的引角你了解吗?因为有北桥的原因,主要是总线,这些都是固定的,指令就可以保证了。对于一些其他的个性化功能,比如功耗管理等一些引角是可以不一样,这部分由主板bios来提供支持。
超越时空凯尔
2015-09-19 · TA获得超过454个赞
知道小有建树答主
回答量:885
采纳率:100%
帮助的人:252万
展开全部
首先,微软的XP已经包含了支持所有CPU的HAL,而且对X86来说指令集固定的,遵守Intel那套规范。所以从这个方面上来看,XP也很庞大,里面有很多为了支持用到的冗余包。
基于手机应用的安卓就不一样了,手机的硬件限制导致不能把所有的东西都包进来,而且ARM本身不做CPU,它只提供core,一些外围设备,例如LCD controler, DDR controller由第三方的芯片制造商来完成,所有尽管ARM的指令集也是固定的,但除了core以外的设备需要不同的HAL支持,导致了你所说的问题。
而APK相当于应用程序,与硬件无关,只要是安卓的系统便能够安装,这是因为操作系统已经解决了和底层硬件的联系问题,不需要应用程序去关注了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
p5952591
2013-10-22 · 超过31用户采纳过TA的回答
知道答主
回答量:79
采纳率:0%
帮助的人:52万
展开全部
因为安卓属于嵌入式产品系统,是手机之类使用的系统,window的系统一般会用在电脑上,就像手机上不能装windos系统一样,想nokia的windowMonble是针对手机嵌入式系统开发的,他也一样无法在电脑上使用这个系统的。apk是使用应用层而不是使用内核的,系统架构看下你就明白为什么了。。 而且还有一点就是为了节省硬盘空间,一般开发商都会把不必要的东西干掉,未手机节省空间。。在装系统的时候,windows会自动去识别系统的CPU型号。基本上主流的CPU再window系统里面都能被读取,除了苹果公司自主研发的CPU。
追问
假如,CPU虽然都是X86,一个是AMD的速龙2 740是FM2的,一个是intel的i3的LGA 1155的。引脚都不同,怎么控制外部的设备都是相同的操作?比如我要读内存,用的是同一条指令,但是外部电路是不确定的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ir...5@163.com
2013-10-22 · TA获得超过855个赞
知道答主
回答量:703
采纳率:0%
帮助的人:245万
展开全部
因为安卓属于嵌入式产品系统,是手机之类使用的系统,window的系统一般会用在电脑上,就像手机上不能装windos系统一样,想nokia的windowMonble是针对手机嵌入式系统开发的,他也一样无法在电脑上使用这个系统的
追问
windows Moblie,PC是装不了。我又没说Windows Moblie。linux呢?为什么手机有linux核的安卓,PC一样有linux核心的ubuntu。你说的我都知道,说明不了问题。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sleanet
2020-12-04 · TA获得超过162个赞
知道小有建树答主
回答量:173
采纳率:33%
帮助的人:73.8万
展开全部
打个比方,就跟你要定制陶瓷茶杯一样,有两个工厂,第一个是用机器自动化生产的,第二个是手工坊,他们的工作都是制作陶瓷,而你给他们也是一样的指令,要生产陶瓷。
这两个厂就相当于不同的架构,你把两个厂的员工互调是无法正常工作的,但可以把员工调去相同性质的厂是可以正常工作,差别不大。

他们的生产方法不同,一个是操作机器,一个是传统手工制作和烧制,这就好比指令集。
程序下达的命令是:生产1个杯子
工厂可能只需管理人员通知设计师设计形状、工艺等等的文件,然后交由操作员让机器生产;
手工坊则需要练泥、拉坯、晾晒、烧制等等的步骤;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式