windows為什麼能執行在X86架構CPU的機子,而安卓不能直接執行在所有的ARM架構CPU的裝置

時間 2021-06-09 04:21:28

1樓:匿名使用者

首先,微軟的xp已經包含了支援所有cpu的hal,而且對x86來說指令集固定的,遵守intel那套規範。所以從這個方面上來看,xp也很龐大,裡面有很多為了支援用到的冗餘包。

基於手機應用的安卓就不一樣了,手機的硬體限制導致不能把所有的東西都包進來,而且arm本身不做cpu,它只提供core,一些外圍裝置,例如lcd controler, ddr controller由第三方的晶片製造商來完成,所有儘管arm的指令集也是固定的,但除了core以外的裝置需要不同的hal支援,導致了你所說的問題。

而apk相當於應用程式,與硬體無關,只要是安卓的系統便能夠安裝,這是因為作業系統已經解決了和底層硬體的聯絡問題,不需要應用程式去關注了。

2樓:

因為安卓屬於嵌入式產品系統,是手機之類使用的系統,window的系統一般會用在電腦上,就像手機上不能裝windos系統一樣,想nokia的windowmonble是針對手機嵌入式系統開發的,他也一樣無法在電腦上使用這個系統的

3樓:匿名使用者

x86來說指令集固定

4樓:匿名使用者

zergvesrgser

5樓:匿名使用者

打個比方,就跟你要定製陶瓷茶杯一樣,有兩個工廠,第一個是用機器自動化生產的,第二個是手工坊,他們的工作都是製作陶瓷,而你給他們也是一樣的指令,要生產陶瓷。

這兩個廠就相當於不同的架構,你把兩個廠的員工互調是無法正常工作的,但可以把員工調去相同性質的廠是可以正常工作,差別不大。

他們的生產方法不同,一個是操作機器,一個是傳統手工製作和燒製,這就好比指令集。

程式下達的命令是:生產1個杯子

工廠可能只需管理人員通知設計師設計形狀、工藝等等的檔案,然後交由操作員讓機器生產;

手工坊則需要練泥、拉坯、晾晒、燒製等等的步驟;

理論上非x86架構的cpu是否絕對無法執行windows?

6樓:匿名使用者

其他架構無法運抄行windows,是因為windows沒有提供對他們的支援

7樓:你的神

你好copy,“理論上非x86架構的cpu是否絕對無bai

法執行windows?”是可能的,duarm架構與x86是互不相通zhi的,畢dao竟兩者cpu指令集 是大不相同的,除了通用指令集以外。如果要windows執行在arm架構處理器上 那麼整個系統核心都要進行改寫(包括底層硬體架構)。

so,軟體方面也是一樣,必須重新編譯,比如arm軟體實現一個動作,那麼要移植到x86架構軟體上就要以x86架構處理方式去修改**。自然而然整個的軟體移植就顯得十分費時,費力。所以歸根結底還是看cpu互相相容指令集,演算法才能決定兩個不同架構系統之間的相容性。

8樓:匿名使用者

這個問題和開源閉源沒有關係,這是因為arm和x86的指令集完全不同,windows的底層指令集是x86的,所以不能在arm和mips上執行。

9樓:匿名使用者

“不同架構的cpu之間作業系統及軟體無法執行”,在非x86上作業系統上開發一個x86模擬器,不就可以執行xp了嗎?

10樓:wow惡魔獵手

理論上來說是的,建議如果要編譯這方面還是選擇linux