Linux作業系統家族的基本組件如Linux核心GNU C 函式庫、BusyBox,或其復刻如μClinuxuClibc,在編程時已經考慮了一定程度的抽象。此外,在組合語言C語言原始碼中包含了不同的代碼途徑,以支援特定的硬體。因此,原始碼可以在大量的電腦系統結構上成功編譯(或交叉編譯)。

Linux 2.6.25.17啟動介面

此外,還開發了必需的自由及開放原始碼軟體,作為Linux和將要執行Linux的硬體之間的介面。例如,編譯器GCCLLVM/Clang。對交叉編譯來說,則有數個完整工具鏈,像GNU工具鏈OpenWrt BuildrootOpenEmbeddedYocto計劃針對嵌入式應用案例。

條目Linux核心可移植性一節中包含了有關技術細節的資訊及參考。

請注意,額外的組件,如顯示伺服器或程式(像Blender),不一定適用以下所有平台。根本上說,所有軟體都需要移植到執行該軟體的硬體上,即適用特定體系。在編程時抽象的程度決定了該軟體日後移植時所需要付出的努力。

相關術語:移植目標中有電腦系統結構,包括指令集架構微處理器(至少為CPU)的微架構。目標還包括整個系統的「系統設計」,無論是超級電腦桌上型電腦還是某些系統晶片,如在某些情況下,使用的是獨一無二的匯流排。過去,主記憶體控制器是在主機板晶片組的一部分,而不是在CPU晶粒上。

儘管支援特定指令集是編譯器的任務,軟體在編寫時也需考慮一定程度的抽象,才能使移植成為可能。以組合語言寫成的任何代碼都將限定於某一指令集。

對特定微架構的支援包括最佳化CPU快取階層中的TLB等。

發行

其它處理器(特別是Freescale 68000和ColdFire)受無MMU的變種μClinux支援。

參見

  • 作業系統比較
  • 嵌入式Linux核心子集
  • 使用者模式Linux

參考

外部連結

Wikiwand in your browser!

Seamless Wikipedia browsing. On steroids.

Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.

Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.