萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 作業系統 >  >> Linux 教學

防止 Linux 分裂:深度解讀 LSB 3.0 標準與國際標準體系

導讀:什麼是 LSB?

LSB (Linux Standard Base) 旨在制定通用標準,提高 Linux 系統間及與類 UNIX 系統相容性。定義二進位執行環境,符合 LSB 規範的應用程式可在任何通過 LSB 認證的 Linux 版本運行。

LSB 3.0:防止 Linux 生態分化的關鍵一步

LSB 3.0 規範正式發布,獲主要 Linux 廠商廣泛支援。由 Free Standards Group (FSG) 維護開發,透過基本 API 與函式庫實現互操作性,讓獨立軟體廠商 (ISV) 能開發移植應用,確保在 LSB 認證版本順利運行。支援七大架構:IA32、IA64、PPC32、PPC64、S390、S390X、X86_64。FSG 執行理事 Jim Zemlin 指出最大改進:納入更新後的 C++ 應用程式二進位介面 (ABI),所有主要 Linux 版本均支援,極大降低 ISV 多版本支援的開發成本與時間。

一、國際 Linux 標準體系

1. POSIX 標準

POSIX (Portable Operating System Interface) 由 IEEE 與 ISO/IEC 共同開發,基於既有 Unix 實踐,描述作業系統調用服務介面,確保應用在原始碼層面可跨 OS 移植。1991-1993 Linux 起步期正值 POSIX 定稿階段,POSIX 為 Linux 提供極重要參考,使其與絕大多數 Unix 相容。早期核心 /include/unistd.h 可見 Linux 初期即著力實現 POSIX 相容。最新標準 IEEE 1003.1-2001。

2. FSG 標準系列

LSB 工作組隸屬 FSG,目標「標準化企鵝」,制定公共指令集、檔案傳輸格式等基礎標準,奠定應用相容基石。國際流行 Linux 幾乎皆遵循 LSB,成為 Linux 世界統一重要力量,視為 Linux 工業標準。重要版本:V1.3、V2.0 (2004/09,新增 C++ 支援),但 V2.0 仍未完全解決應用相容問題。OpenI18N 致力於國際化背景下應用可移植性與互操作性,前提是符合對應 LSB。FSG 還含 LANANA、OpenPrinting、Accessibility、DWARF、Open Cluster 等專業標準組織。

3. OSDL 標準系列

OSDL (Open Source Development Lab) 資助多項標準化專案:

  • CGL (Carrier Grade Linux): 針對電信營運商需求制定標準,針對閘道、信令伺服器、管理伺服器等提出增強要求,承諾遵守 LSB、開放原始碼授權與開發流程。
  • DCL (Data Center Linux): 面向金融/製造等關鍵業務企業,採用新技術支撐高風險重負載。
  • DTL (Desktop Linux): 推進 Linux 企業級桌面應用。受中國推進桌面 OS 影響,OSDL 將加強與中國合作,特別在桌面 Linux 領域。

4. United Linux (UL)

2002/06 Caldera、Conectiva、SuSE、TurboLinux 成立 UL,規劃圍繞全球統一商用 Linux 版本開發認證。滿足企業對標準化商用 Linux 需求,跨越軟硬體平台,加速企業採用。四公司合作開發通用核心環境 (UL 軟體),各自綁定增值產品服務自有品牌推廣。AMD、Borland、CA、富士通西門子、HP、IBM、Intel、NEC 等幾乎所有技術架構供應商表態支援。UL 提供真正基於標準的 Linux 環境,大幅減少供應商認證版本數。雖 UL 最終衰落,但為防止 Linux 分裂、精簡生態鏈提供寶貴經驗。

二、LSB 發展路線圖

FSG 獨立非營利組織,專注透過標準發展推廣加速開源軟體發展。志願者發起 LSB 專案,目標發展改進標準、提高 Linux 及類似系統相容性、讓應用能在任何系統運行。LSB 定義二進位環境與相關標準文件,含基礎 API、函式庫、互操作性標準、測試套件、開發環境、執行案例、開發文件。大型發行商/企業 (HP、IBM 等) 紛紛加入。

主要版本歷程:

  • 2000/05:FSG 正式成立,全面負責 LSB 計畫。
  • 2001/07/04:LSB 1.0 發布,邁出標準化重要一步,僅含 Common LSB 1.0.0。
  • 2002/02/04:LinuxWorld 大會 HP、IBM、拓林思、SuSE、Red Hat、Caldera、Ximian 聯合發布 LSB 1.1,標準化核心功能組件,新增 IA32 架構支援。
  • LSB 1.2:涵蓋 Common LSB 及 IA32/IA64/PPC32 專用規範。
  • LSB 1.3:新增 IBM S/390、S/390X 支援。
  • 2004/09/14:LSB 2.0 發布,最大特點增加 C++ 二進位介面支援。
  • 2004/10/21:LSB 2.0.1 發布。
  • 2005/07/01:LSB 3.0 正式發布。

LSB 3.0 更新基礎規範與執行要求,特別升級 SUS (Single Unix Specification) 至 3.0 (對應 IEEE 1003.1-2001 POSIX、ISO/IEC 9945:2003)。最重要變革:文件重構與上層附加標準發展——文件重構為持續發展鋪路。新特點:引入 POSIX 執行緒與 C++ 應用支援、新增 C++ ABI 改善代碼互用性。因多數應用以 C++ 撰寫,數千軟體廠商可低成本移植至 Linux,帶動應用數量顯著增長。文件結構以附加規範模組為基礎,建構於核心 LSB 規範之上,允許新增功能(甚至超出 LSB 範圍),允許 LSB 外組織透過框架添加功能。另納入 PAM、FHS 2.3、gcc 3.4、librt 等新元件與介面指令。

三、LSB 標準構成

LSB 為應用程式二進位介面,主要解決 Linux 系統與應用間相容問題。建立於 IEEE POSIX 原始碼標準與 Unix 規範基礎,涵蓋多種介面技術。部分介面技術未被收錄,多為開發介面或用戶級工具。LSB 能將原始碼標準延伸至其他領域(如圖形)。含必要技術細節,如支援大型二進位應用平台的二進位執行檔格式。

LSB 主要組成部分:



圖:LSB 組成示意圖

1. 文件

LSB 3.0 文件結構以附加規範模組為根基,建構於核心 LSB 規範之上,允許新增功能(甚至被視為超出 LSB 範圍)。

copyright © 萬盛學電腦網 all rights reserved