Linux支持的計算機系統結構列表

Linux操作系統家族的基本組件如Linux內核 、 GNU C 函式庫 、 BusyBox ， 或其復刻如μClinux和uClibc ， 在編程時已經考慮了一定程度的抽象 。 此外 ， 在彙編語言或C語言源代碼中包含了不同的代碼途徑 ， 以支持特定的硬件 。 因此 ， 源代碼可以在大量的計算機系統結構上成功編譯 （ 或交叉編譯 ） 。 此外 ， 還開發了必需的自由及開放源代碼軟件 ， 作爲Linux和將要執行Linux的硬件之間的接口 。 例如 ， 編譯器如GCC和LLVM / Clang 。 對交叉編譯來說 ， 則有數個完整工具鏈 ， 像GNU工具鏈 、 OpenWrt Buildroot或OpenEmbedded 。 Yocto計劃針對嵌入式應用案例 。 條目Linux內核的可移植性一節中包含了有關技術細節的信息及參考 。 請注意 ， 額外的組件 ， 如顯示服務器或程序 （ 像Blender ） ， 不一定適用以下所有平臺 。 根本上說 ， 所有軟件都需要移植到執行該軟件的硬件上 ， 即適用特定體系 。 在編程時抽象的程度決定了該軟件日後移植時所需要付出的努力 。 相關術語 ： 移植目標中有計算機系統結構 ， 包括指令集架構和微處理器 （ 至少爲CPU ） 的微架構 。 目標還包括整個系統的 “ 系統設計 ” ， 無論是超級計算機 、 桌上型電腦還是某些系統芯片 ， 如在某些情況下 ， 使用的是獨一無二的總線 。 過去 ， 內存控制器是在主板芯片組的一部分 ， 而不是在CPU晶粒上 。 儘管支持特定指令集是編譯器的任務 ， 軟件在編寫時也需考慮一定程度的抽象 ， 才能使移植成爲可能 。 以彙編語言寫成的任何代碼都將限定於某一指令集 。 對特定微架構的支持包括優化CPU緩存層次結構中的TLB等 。