導讀:LSB是什麼? LSB是LinuxStandardBase取首字母的縮寫。LSB的目標是制定標准提高 Linux系統 與其他相似系統的兼容性。LSB標准定義了二進制環境,符合LSB的應yon程序在其中可以可以在其中運行。 最近LinuxStandardsBase(LSB)3.0規范已經發布。新的LSB標准
導讀:LSB是什麼?
LSB是Linux Standard Base取首字母的縮寫。LSB的目標是制定標准提高
Linux系統與其他相似系統的兼容性。LSB標准定義了二進制環境,符合LSB的應yon程序在其中可以可以在其中運行。
最近 Linux Standards Base(LSB)3.0規范已經發布。新的LSB標准旨在防止Linux分化,已獲得了主要Linux廠商的廣泛支持。LSB規范由Free Standards Group(自由標准組織)負責維護和
開發,並計劃通過一套基本API和庫實現互操作性,這樣ISV就可以開發和移植應用,以使應用能夠在LSB認證的Linux版本上運行。這套LSB標准目前支持7種架構,包括IA32、IA64、PPC32、PPC64、S390、S390X和X86_64。LSB 3.0對2.0進行了很多提升。Free Standards Group的執行理事Jim Zemlin說,最重要的是,LSB 3.0包括更新的、用於C++的應用程序二進制接口(ABI),所有主要Linux版本都支持這一二進制接口。Zemlin說:“對要支持多種版本Linux的ISV而言,這極大地降低了成本並縮短了開發時間。
一、國際Linux的標准體系
1.POSIX標准
POSIX(Portable Operating System Interface for Computing Systems)是由IEEE 和ISO/IEC 開發的標准系統。該標准是基於現有的
Unix 實踐和經驗,描述了操作系統的調用服務接口,用於保證編制的應用程序可以在源代碼一級上在多種操作系統上移植運行。
1991-1993年Linux剛起步時,適逢POSIX 標准的制定正處在最後定稿的時候,POSIX標准為Linux提供了極為重要的信息,使得Linux能夠與絕大多數Unix 系統兼容。POSIX目前的最新標准是IEEE 1003.1-2001。
在最初的Linux 內核代碼中(0.01 版、0.11 版)就已經為Linux與POSIX標准的兼容做好了准備。通過對0.01 版的內核/include/unis
td.h 文件的分析就可見,Linux在發展初期就想實現與POSIX的兼容。從Linux的發展進程也可以看出,Linux 的成長一直有POSIX 標准的輔佐,沒有POSIX 的指導,就不會有Linux的今天。
2.FSG(Free Standard Group)標准系列
Linux標准化規范和工作組——LSB(Linux Standard Base) 工作組是Free Standards Group的成員工作組。LSB是Linux領域重要和有影響的標准化組織。LSB工作組以達成“Standardizing The Penguin”為目標,制定最基本的標准,如公眾命令集和文件傳輸的格式等,為應用之間的兼容奠定基礎。它致力於開發和推廣一系列的標准,提高不同 Linux發行版本的兼容性,使得軟件應用得以運行在各種符合LSB標准的系統中,同時也幫助協調軟件開發商向Linux移植和開發產品。目前國際上流行 的Linux版本基本都遵循LSB標准,該規范是Linux世界統一的重要力量,可以說是Linux的工業標准。在LSB的發展歷程中較為重要版本是 V1.3,目前最新版本是2004年9月份所推出的LSB V2.0,主要是在V1.3的基礎上增加了對C++的支持。LSB V2.0也不能完全解決當前Linux應用中所面臨的兼容性問題。OpenI18N (Open Internationalization Initiative)致力於增強國際化背景下的軟件應用的可移植性和互操作性,提供一個通用的開放源碼環境,使得全球不同文化、語言的應用程序可以正確地運行和正確地表達。OpenI18N也制定相關的標准並開發驗證和
測試工具包。符合OpenI18N標准的前提條件是符合對應的LSB標准。 Linux國際化英文是從internationalization裡,將i到n之間的18個字母略稱為『i18n』,再加上Linux就變成Li18nux,以此作為推展國際標准化的國際名稱。 在FSG中除了LSB和OpenI18n外,還有許多有影響的標准組,如LANANA (Linux Assigned Names and Numbers Authority)、OpenPrinting、A
clearcase/" target="_blank" >ccessibility、DWARF、Open Cluster。它們主要關注於特定的領域應用。
3.OSDL(Open Source Development Lab)標准系列
CGL(Carrier Grade Linux)是由OSDL資助的項目,致力於制訂一個符合
電信運營商要求的Linux標准。它針對網關, 信令
服務器、管理服務器等電信應用提出了對Linux的增強,滿足集成電信、數據和Internet的新一代通信基礎設施的需要。CGL承諾遵守LSB標准,保持Linux版本的一致性,並遵守開放源碼的許可協議和開放源碼的開發流程。CGL支持相關軟件包的測試和認證,是一個完整的體系。
DCL(Data Center Linux)也是OSDL資助的項目,致力於制訂一個滿足企業數據中心需要的Linux標准。它面向
金融行業和制造業等運行關鍵性業務系統。其特征是積極采用新技術,使大型系統能運行關鍵性業務並承擔高風險和重負荷。
DTL(Desktop Linux)是OSDL新近資助的項目,旨在推進Linux企業級的桌面應用。該項目目前處於籌劃期,對外發布的信息較少。據可靠消息,受中國大力推進桌面Linux操作系統的影響,OSDL將加大與中國的合作力度,特別是在桌面Linux領域。
4.United Linux(UL)
2002年6月,Caldera、 Conectiva、SuSE以及TurboLinux公司宣布成立UNITED
LINUX組織,計劃使Linux的開發與認證工作圍繞一個全球統一的商用Linux版本進行。UNITED LINUX(簡稱UL)將滿足企業用戶對標准的商用Linux版本的需要,該版本能跨越軟件及硬件平台,從而加速企業采用Linux。根據達成的協議,四家公司將通力合作開發一個通用核心的Linux操作系統環境,稱之為UL軟件。四家合作公司將在UL操作系統上捆綁自己的增值產品與服務,並以各自的品牌進行市場與銷售。幾乎每個為商務提供部分技術架構的供應商都表示支持UL,包括系統與軟件供應商AMD、
Borland、CA、富士通-西門子、HP、IBM、Intel、NEC等。UL將提供一個真正基於標准的Linux操作環境,使供應商需要認證的Linux版本顯著減少。因為眾多原因,United Linux基本上趨於衰落,但對於如何防止Linux的分裂、如何簡潔Linux生態鏈提供了有益的參考。
本新聞共4頁,當前在第1頁 1 2 3 4
二、 LSB發展的路線圖
LSB由FSG開發和維護。FSG是一個獨立的非盈利組織,該組織專注於通過發展和促進標准來加速開放源碼軟件的發展。幾年前,一些志願人員發起了LSB項目, LSB項目的目的是發展和改進標准,提高Linux和其它類似系統間的兼容性,使應用軟件可以在任何系統上運行。 LSB標准定義了一個二進制環境和與之相關的標准文檔,在這個二進制環境中,任何一個符合LSB標准的應用程序都能夠正常運行。LSB標准文檔包括了一系列基礎API、庫和互用性標准,還包括了測試套件、開發環境、執行案例和開發文檔。 隨著LSB開發的深入,一些大的Linux發行商開始積極參與其中,一些大型企業,如HP和IBM等也逐漸加入。
2000年5月,自由標准組織正式成立,全面負責LSB計劃。
2001年7月4日,LSB 1.0發布,邁出了Linux標准化道路上重要的一大步。LSB 1.0的規范僅包括了通用LSB(LSB Common)1.0.0。
2002年2月4日,在美國召開的LinuxWorld大會上,HP、IBM、拓林思、SuSE、Red Hat、Caldera和Ximian公司聯合發布了LSB 1.1。LSB 1.1對Linux核心功能和一些組件進行了標准化。它包括一組公共API、一個開發包和一些測試功能。LSB 1.1在1.0的基礎上增加了對IA32架構處理器的支持,規范包括通用LSB 1.1.0和IA32處理器專用規范(LSB IA32)1.1.0。LSB 1.2 LSB 1.2包括了通用LSB規范及對IA32、IA64和PPC32架構處理器的專用規范。LSB 1.3 LSB 1.3在1.2的基礎上又增加了對IBM S/390和S/390X的支持。規范包括通用LSB 1.3、LSB IA32 1.3、LSB IA64 1.3、LSB PPC32 1.3、LSB S390 1.3和LSB S390X 1.3。
2004年9月14日正式發布LSB 2.0。其最大特點是增加了對C++的二進制接口。
2004年10月21日,LSB 2.0.1發布。
2005年7月1日, LSB 3.0發布。
LSB 3.0更新了原來版本的一些基本規范和執行,特別是SUS(Single Unix Specification,單一Unix規范)的升級。以SUS 3.0為基礎。SUS 3.0同時也是IEEE 1003 1-2001標准(POSIX)和ISO/IEC 9945:2003標准。LSB 3.0中最重要的是文檔的重構和LSB上層附加標准的發展。文檔重構的目的是推動LSB未來的發展。LSB 3.0中另一個重要的新特點是引入了對POSIX線程和C++應用的支持,它增加了C++的應用二進制接口(ABI),用於改善代碼互用性。 這一特點意義重大,因為現在的大多數應用都是用C++編寫,通過在LSB中加入C++支持,使數以千計的軟件開發商能以較低成本將他們的應用移植到Linux上,由此帶來Linux應用軟件數量上的突飛猛進。LSB 3.0的文檔結構是附加規范模塊的根基,這些附加規范模塊在核心LSB規范(Core LSB Specification)之上。這些新模塊允許新功能的增加,其中一些功能甚至是被認為在LSB范圍之外的。新模塊還允許LSB以外的組織通過使用LSB確定的框架來添加新功能。LSB 3.0.0 標准文檔,LSB標准發展到了3.0,結構與2.0一樣。LSB 3.0 基於新的C++ 二進制接口,還有其他的改進。另外還包括PAM和FHS 2.3。,以及包括加入gcc3.4,librt,一些新功能和新接口以及新命令等。
三、LSB標准的構成
LSB是一種應用程序二進制接口,主要解決Linux系統與應用程序之間的兼容問題。LSB是在IEEE POSIX源代碼標准和Unix規范基礎上建立起來的,包含多種接口技術。也有一些接口技術未被LSB收取,這些接口大多是開發接口或用戶級工具。LSB可以將源代碼標准擴展至其它領域,例如圖形領域等。此外,LSB還包括一些必要的技術細節,例如支持大型二進制應用軟件平台的二進制執行文件格式等。
LSB主要由以下幾個部分組成,見圖:
圖 LSB組成示意圖
1.文檔
LSB 3.0的文檔結構是附加規范模塊的根基,這些附加規范模塊在核心LSB規范(Core LSB Specification)之上。這些新模塊允許新功能的增加,其中一些功能甚至是被認為在LSB范圍之外的。新模塊還允許LSB以外的組織通過使用LSB確定的框架來添加新功能。表1是LSB 3.0規范的重要組成,Architecture欄目是3.0文檔,空白處表示沒有建立相關文檔。包括公共規格(gLSB)和特殊架構規格(archLSB)認證,其中gLSB定義了那些基於LSB 的程序在運行過程各模塊間的標准接口,archLSB定義了基於不同架構的處理器(CPU)的標准接口。
本新聞共4頁,當前在第2頁 1 2 3 4
2. 測試軟件集合
其中包括Linux平台測試軟件和Linux二進制兼容的應用程序。
針對Linux平台的測試步驟
為了增加LSB標准的權威性和可信度,FSG專門推出了“LSB認證”產業標准及一系列測試項目。只有通過所有測試的系統和應用軟件才能獲得LSB認證證書。總的來看,針對Linux系統的測試主要有以下四個步驟:
1.了解認證程序和步驟;
2.對系統進行非正式測試;
3.申請進行認證測試;
4.進行正式測試並提交測試結果。
參加測試的Linux系統提供商必須了解LSB測試的過程,即系統提供商必須保證自己的產品通過所有的
兼容性測試,簽署商標認證協議並提交FSG。成功通過所有測試的Linux系統名稱將列入FSG網頁的認證登記表,向全世界公開。
針對ISV應用軟件的測試步驟
針對應用軟件的測試步驟與Linux系統的測試步驟大同小異。首先,二者所選擇的測試套件不同;其次,選擇的產品標准也不同,應用軟件選擇的產品標准包括支持IA32、IA64、32位PowerPC、64位PowerPC、S/390、S/390X和64位AMD技術的LSB 3.0應用程序。
支持LSB標准的應用軟件主要應具備以下要素:
1.支持LSB標准的應用軟件只能使用運行環境提供的LSB接口;
2.應用軟件必須經正確打包以確保不同Linux系統和應用軟件的兼容性;
3.應用軟件提供商必須證明該應用軟件可以在LSB示范系統下運行正常;
4.應用軟件必須在兩種不同的LSB運行環境下運行正常;
5.應用軟件和其它軟件套件必須安裝在正常的目錄下;
6.所有支持LSB標准的軟件套件名稱必須以“lsb-”開頭。
LSB3.0 的
功能測試軟件包括13個:
lsb-apache、lsb-celestia、lsb-expect、lsb-groff、lsb-lynx、lsb-python lsb-rsync、lsb-samba、lsb-tcl、lsb-xpaint 、lsb-xpdf 。可以在這裡
下載:http://www.linuxbase.org/download/
3.二進制接口標准和基礎庫;
以LSB 3.0為例,其基礎庫主要包括以下兩種:
基准庫 glibc、libc、libm、libpthread、libpam、libutil、libdl、libcrypt、libncurses和libz。
圖形庫 libX11、libXt、libXext、libSM、libICE和libGL。和2.0相比增加了libXext和libXi。
4.應用程序實施的技術細節
包括軟件打包格式、文件系統版面(主要是文件系統分級標准)和適用於應用程序的一些命令。支持LSB標准的應用軟件可產生一個二進制鏡像,該鏡像可通過一個特定的處理器架構運行於所有支持LSB標准的Linux系統中。此外,LSB標准還包括一些LSB認證的測試工具組件,如測試套件、用於應用軟件LSB標准測試的Linux示范版,以及一組用來測試系統的應用軟件。
本新聞共4頁,當前在第3頁 1 2 3 4
四、使用 LSB 資源來開發二進制兼容的應用程序的步驟
Linux 有固有的二進制兼容性;然而,Linux 標准庫(Linux Standard Base,LSB)已為應用程序設置了一些使二進制兼容性更為實用的規則和指導原則。為 Linux 而壓縮-包裝(shrink-wrap)LSB 應用程序要求您針對移植層來編碼、使用正確的 ABI、用 LSB 應用程序檢查器來測試、遵循 LSB 打包的指導原則和尋求 LSB 認證。
1. 針對移植層來編碼
2. 使用正確的 ABI
3. 用 LSB 應用程序檢查器來測試
4. 遵循 LSB 打包的指導原則
5. 尋求 LSB 認證
五、LSB標准的意義及發展前景
一個標准的應用軟件二進制接口對於Linux系統有著非凡的意義,概括起來主要包括增強用戶對應用軟件的信心、降低成本和擴大市場。 應用軟件得以迅速推廣的原因主要在於用戶對它的信心和支持。這種信心來自多個方面,包括兼容性、可移植性及
可靠性。
LSB標准認證可確保應用軟件滿足客戶的兼容性、可移植性和可靠性
需求。因為,LSB使用戶使用的軟件更加標准化,確保它們與各種Linux系統的兼容。用戶在所有支持LSB標准的架構下使用Linux系統,移植各種應用軟件。LSB嚴格的測試程序確保支持LSB標准的應用軟件有著較高的可靠性。隨著用戶對支持LSB標准的應用軟件信心增強,以及開發和使用成本的降低,市場的擴大成為一種必然趨勢。然而,LSB標准尚面臨著技術上和體制上的雙重挑戰,開放系統提供商都不希望Linux社區四分五裂,同時又想保持自身的特色技術,以便在激烈的競爭中立於不敗之地。未來,FSG將繼續為LSB標准增加新的庫,提高其穩定性和可擴展性。對於LSB開發環境來說,FSG將繼續對開發工具進行完善,使其變得更加透明、更加簡便。
總結:
LSB 的目標是使應用程序在任何 Linux 分發版上運行。LSB 實現這一點的方式是通過受一致性擔保的支持的分發版和應用程序認證。FSG董事會成員Dirk Hohndel預測,盡管LSB不會建立一種單一的Linux操作系統,但它將提供一個環境,在這個環境中,支持LSB標准的各種Linux系統可以相互競爭,用戶可以在所有Linux系統中使用這些支持LSB標准的應用軟件。
LSB小貼士:
1. FSG(Free Standards Group)是什麼?
FSG是一個中立的、非盈利機構,它專注於通過制定標准促進免費軟件與
開源軟件的發展,其下屬項目組包括:Linux Standard Base (LSB), OpenI18N (formerly Li18nux), LANANA and OpenPrinting,詳見FSG官方網站:.
2. LSB認證計劃是什麼?
LSB認證計劃是由FSG發起的一個計劃,對符合一致性要求的所有產品開放。它不僅僅局限於Linux系統和Linux應用軟件。LSB認證是依據LSB認證策略文檔和LSB商標許可協議的正式過程。已通過認證產品的提供商,被授權表明其產品符合LSB認證支持的認證類別指定的所有一致性要求。
3. LSB只適用於Linux操作系統及其應用程序嗎?
不. 只是更容易在類UNix系統上運行。
4. 什麼是LSB應用程序組,可從哪裡獲得?
LSB應用程序組是一個滿足LSB應用軟件實例集。它是LSB認證對運行環境的其中一個要求,即LSB應用程序組中的多個應用程序被證明能在該環境中正確運行。LSB應用程序組可從http://www.linuxbase.org/appbat/ 獲得。認證要求使用的應用程序組的要求說明見 http://www.linuxbase.org/appbat/cert.html
本新聞共4頁,當前在第4頁 1 2 3 4