![cover image](https://wikiwandv2-19431.kxcdn.com/_next/image?url=https://upload.wikimedia.org/wikipedia/commons/thumb/c/c8/Linux-x86-under-qemu.png/640px-Linux-x86-under-qemu.png&w=640&q=50)
Linux支援的電腦系統結構列表
維基媒體列表條目 / 維基百科,自由的 encyclopedia
Linux作業系統家族的基本組件如Linux內核、GNU C 函式庫、BusyBox,或其復刻如μClinux和uClibc,在編程時已經考慮了一定程度的抽象。此外,在匯編語言或C語言原始碼中包含了不同的代碼途徑,以支援特定的硬件。因此,原始碼可以在大量的電腦系統結構上成功編譯(或交叉編譯)。
此條目或章節需要時常更新。有關事物或許會隨着時間而有所變化。 |
![](http://upload.wikimedia.org/wikipedia/commons/thumb/c/c8/Linux-x86-under-qemu.png/320px-Linux-x86-under-qemu.png)
此外,還開發了必需的自由及開放原始碼軟件,作為Linux和將要執行Linux的硬件之間的介面。例如,編譯器如GCC和LLVM/Clang。對交叉編譯來說,則有數個完整工具鏈,像GNU工具鏈、OpenWrt Buildroot或OpenEmbedded。Yocto計劃針對嵌入式應用案例。
條目Linux內核的可移植性一節中包含了有關技術細節的資訊及參考。
請注意,額外的組件,如顯示伺服器或程式(像Blender),不一定適用以下所有平台。根本上說,所有軟件都需要移植到執行該軟件的硬件上,即適用特定體系。在編程時抽象的程度決定了該軟件日後移植時所需要付出的努力。
相關術語:移植目標中有電腦系統結構,包括指令集架構和微處理器(至少為CPU)的微架構。目標還包括整個系統的「系統設計」,無論是超級電腦、桌上電腦還是某些系統晶片,如在某些情況下,使用的是獨一無二的匯流排。過去,內存控制器是在主機板晶片組的一部分,而不是在CPU晶粒上。
儘管支援特定指令集是編譯器的任務,軟件在編寫時也需考慮一定程度的抽象,才能使移植成為可能。以匯編語言寫成的任何代碼都將限定於某一指令集。