回覆列表
  • 1 # 浮雲散雪

    cpu是有指令集的,這是暴露給上層軟體層的介面。只要作業系統的底層(與處理器相關的程式碼部分)能適配cpu的指令集,能把需要操作cpu硬體的函式,轉化為指令集,就可以相容多種cpu。理論上windows也是可以相容多種cpu的,不存在技術問題,只是看微軟的市場策略。

  • 2 # 黃河邊

    作業系統最大部分程式碼都是透過C語言來寫的,很少一部分驅動是組合語言來寫的,這部分和CPU架構是相關的。一般來說作業系統經過編譯,同一濤程式碼可以跑在不同的CPU上,去針對不同的CPU架構進行編譯就可以了,下面彙編部分的驅動那要重寫。

  • 3 # 枝枝葉葉

    linux 作業系統 相當於 整車,x86 arm 相當於不同的發動機,作業系統支援不同硬體平臺,就相當於整車換不同發動機,從汽油發動機換成柴油發動機,上邊的方向盤,油門,空調,車燈等介面不變,上邊如何操作是一樣的。linux 設計時,就設計成 高階介面 和 不同構架 實現相分離,這樣更換不同cpu 時,只要將不同構架 實現函式,寫一遍,再用 每種構架 特定的 編譯器,將程式編譯一道,就可以了。是原始碼 大部分相同,arm,和x86 有少量不同,分別用x86和arm 編譯器就可以了。編譯出來是不同映象,不能互換使用。

  • 4 # 騎著雅迪噴奧迪

    系統和驅動層之間有一層抽象層,該層向上遮蔽硬體資訊,向下遮蔽作業系統資訊,該層主要是對驅動層進行再封裝,這樣,硬體平臺不一樣時,只需要改動該層的驅動即可,從理論來講,更好的方式是驅動層再封裝一次,平臺移植時只更新具體的驅動程式碼,個人見解

  • 5 # 霹靂263521714453

    誰說的 編譯好的Linux執行程式碼能同時執行x86和arm上 指令集都不一樣。 那是因為程式碼級的跨平臺 由編譯器面向不同平臺。 理論上程式碼級都可以做到 windows原始碼也可以。 只不過不同的硬體結構 有最佳化 和硬體相關部分 造成做不到。

  • 中秋節和大豐收的關聯?
  • 大家說說快三十了,去讀個研究生晚不晚?