採用雙軌制研發進程的新版作業系統

BSD 4.2為基礎的SunOS 4以後,Sun的Unix系統發展從BSD轉向System V體系,也促成了Solaris的誕生。近年來,無論在企業市場以及學術領域,Sun一直都是全球屈指可數的大型伺服器及工作站供應商,而Solaris作業系統更是Sun的金字招牌,市場佔有率最高的商業化Unix,亦為商業化Unix技術發展的指標。所以,Solaris的版本更迭以及伴隨而來的技術發展,自然也是眾所矚目的焦點。「小步快跑」的作業系統發展時程

目前Sun在Solaris的發展策略採取雙軌制,當新款作業系統發展完成、接近首次出貨給顧客(FCS,First Customer Shipping)之前,就開始進行下一款作業系統的開發作業。簡而言之,當Solaris 9接近出貨時,Solaris 10的開發早在數個月之前的2001年底就開始了。另外,既有作業系統的版本更新(Update)和新款作業系統的發展時程亦為相互重疊。

俗語說的好,「師夷之『技』以制夷」,為了提升作業系統的發展效率及軟體品質,Sun特別開設了Software Express計畫,類似Linux等開放原始碼的作業系統,使用者以及發展者可以透過下載最新版本的光碟影像檔,一窺下一版作業系統的新特色,Sun亦可透過使用者在網站討論區所回報的意見作為改進軟體的參考。值得注意的是,預定在下一版作業系統導入的新功能,僅有兩周的測試期以及三週的技術文件撰寫期。

雙軌制的發展策略,以及開放式的發展流程,對於既有作業系統的維護,以及相容功能的發展有著明顯的助益,除了可以透過新發展中的技術,對既有產品進行持續不斷的改良、提升效率以及穩定度,亦可透過持續不斷的改良,來驗證新款作業系統的技術發展以及相容性,兩者相輔相成。更重要的是,這可以加速作業系統的開發效率,這從Solaris 9到Solaris 10的發售日期僅僅相隔一年多,就可略知一二。Solaris 10的重要改進

雖然Sun至今尚未正式公布Solaris 10的技術細節,不過我們依照目前已公開的Solaris 10相關資訊以及11月3日公開免費下載的Solaris Express,大略介紹Solaris 10的重大改進。

新型檔案系統
在今年6月11日的自主管理系統研討會(Self-Management System),Sun發表了兩篇討論新型檔案系統ZFS(Zettabyte File System)的論文,這兩篇論文也透露了Solaris 10檔案系統的大致樣貌。

ZFS是一種新型的POSIX相容檔案系統,但是除了效能、擴充性以及可靠性之外,更著重於管理機能的提升,尤其是自主性管理及效能調整機制的導入,將可大幅降低儲存系統管理的負擔,這是ZFS發展上的重點。在未來,這也是檔案以及儲存系統發展的必然趨勢。

強大的系統管理工具
在11月3日公開的最新版Solaris,首度出現DTrace系統效能檢測工具,可以讓系統管理者在系統核心設置追蹤點以收集效能相關資訊,關閉時亦毋需讓系統關機。DTrace包含了三個主要部分:超過2萬5千個的動態效能偵測器,可以啟動、關閉效能偵測器、且從中收集資訊的framework,以及代號「D」的簡單描述語言(Script Language)、能使系統管理者依據需求自行收集顯示系統效能資訊。

在伺服器的多人多工使用環境中,往往傳統的效能檢測工具很難有效偵測效能上的瓶頸,尤其對以偵測各行程(Process)為主的工具更是如此。假設今天一臺伺服器上由於某個使用者反覆執行某個簡單的程式提升Cross Call、導致系統負荷過重,但是該簡單程式的執行壽命僅有短短數秒、甚至更短,這時候要找出問題的來源就非常的困難。DTrace就可以解決這樣的狀況,因為它可以詳細的分析出系統運作的行為模式以及效能瓶頸。

除了DTrace之外,Sun發展新的安全檢測監控工具(BART,Basic Audit and Reporting Tool),類似Tripwire的精簡版,可以讓系統管理者檢測檔案的完整性。原本Arcfour Crypto中的RC4-HMAC加密模組也做了改版,Sun宣稱12月發布的Arcfour,將會支援和微軟Active Directory相同的Kerberos安全加密機制。

虛擬伺服器機制的強化
從Solaris 9開始,對伺服器統合(Server Consolidation)推出虛擬伺服器的作法,經由Solaris Container,能夠彈性分割成數個獨立的作業系統環境,使資源配置彼此獨立,提供安全性保護與錯誤隔離,互不干擾,更容易將應用程式統合,集中到比原先數量更少的伺服器內執行。Solaris 10對此進一步的改良,發展代號「Kevlar」的Solaris Zone虛擬機器機制,以達成更高的虛擬伺服器獨立性,例如可動態重新開機以及動態產生虛擬伺服器等。由於實際上各邏輯分割區還是共用同一個作業系統核心,所以除了系統會依據需求自動調配運算資源,也基於安全性的理由,將共用的檔案系統強制設定唯讀。另外,在未來的UltraSparc處理器產品,亦將增加對此部分的硬體支援。

事實上,有鑒於現今的電腦效能越趨強大,為了有效應用水漲船高的運算能量,虛擬機器的概念將會日益重要,Intel發展中的Vanderpool以及微軟的Virtual PC就是很好的證明。

全新的TCP/IP引擎
為了面對未來的10Gbs及40Gbs等級的超高速網路頻寬,發揮IPv6的諸多優勢,Sun發展程式碼重新撰寫、代號「Fire Engine」的TCP/IP通訊協定堆疊,以提供更佳的效能以及擴充性。有別於過去的「暴力」演算法,Fire Engine會透過有效的封包分類以及處理程序,更加聰明的個別處理不同型態的封包類型。

值得注意的是,Fire Engine針對支援TCP/IP負載卸除(Off-Load)運算的硬體進行最佳化,例如指定不同的輔助處理器進行不同通訊協定的處理。有鑒於網路的頻寬日益提升,單純倚賴處理器透過軟體處理通訊協定就會有著效率不彰的問題,所以眾多網路硬體廠商也發展了諸多輔助處理的硬體引擎(TOE,TCP/IP Offload Engine)以提升效率,這些設計已在如網路卡等諸多網路硬體產品上行之有年。由於Sun未來將往多核心處理器架構及單晶片系統發展,也計畫將複數的TOE引擎整合至未來的處理器,如何有效利用硬體資源就非常的重要。

更佳的安全性
為了提升安全性,類似Java的Sandbox觀念,Solaris 10取消了系統管理者取得root權限就可接管整個系統的做法,沒有任何的管理者可以取得全部的系統管理權,每個管理權限均需要重重設定才能取得,除了大幅提升侵入系統的困難度,亦可限制系統被侵入後的損害。Sun宣稱「Trusted Solaris」可提供軍事需求等級的安全性。

Solaris 9開始支援IPv6,不過由於IPv6預設的位址標定(Address Identifier)是靜態的,這對安全性有著負面的影響,所以Solaris 10在系統安裝時,就預設使用IPv6的暫時位址(Temporary Address),可將啟動的網路服務予以隱藏起來,而不會直接暴露實際上的位址。

其它新增的功能
除了上述數點之外,Solaris 10亦有諸多目前尚未公布細節的改進。由於Solaris長期以來一直被大量應用於分散式系統,尤其是NUMA環境,所以管理功能的改進、自主管理機能以及針對NUMA的最佳化就是發展上的重點,例如代號「Clustrex」的單機(single-node)Fail-Over機制、代號「FMA/Greenline」的自我健康檢查及錯誤管理機制。為了提升多執行緒程式效能,導入「Automic Operation」函式庫。除此之外,亦增加了NFS 4.0以及Infiniband的支援。最後,代號「Mad Hatter」、以Gnome為基礎的Java Desktop System,將成為預設的圖形使用者介面,也將取代行之有年的CDE。全面支援AMD的64位元環境

在過去,64位元化的Solaris版本僅為Sun自家的UltraSparc處理器系列所獨有。不過,繼IBM推出Opteron伺服器,以及將部份應用軟體移植至x86-64平臺,Sun近期正式與AMD合組策略聯盟,除了將使用具備x86-64指令集的Opteron作為伺服器用的處理器,也將推出支援x86-64的64位元版本Solari。事實上,Sun已經證實,此項發展工作在六個月前就開始進行了,這也足以確定Solaris對於 x86-64指令集的支援,將會以Solaris 10為開端。Solaris 10預定明年第一季開始進行Beta測試,第三季同時發售UltraSparc、x86以及x86-64三個版本。

不過,由於Opteron伺服器將於明年第一季上市,屆時只能搭配x86版本的Solaris 9或是x86-64版本的Linux,Sun是否有著足夠的誘因,足以說服Opteron伺服器的使用者將作業系統從已經64位元化的Linux更換至Solaris 10,對Sun而言將是一個不小的考驗,也將是驗證面對Linux的壓力、Solaris是否可以維持其獨有技術優勢的機會。Solaris 10是否可以重振Sun的雄風?

面對著Linux排山倒海的壓力,Sun不得不接受Linux,在核心伺服器硬體事業上亦因不敵Intel系統,所以被迫使用Xeon作為低階伺服器產品線的核心。不過,從Solaris日益加快的改版步調以及日趨強大的新型技術,就足以證明Sun一直將Solaris視為該公司的主力作業系統,而全力支援AMD的x86-64指令集以及持續發展未來的多核心UltraSparc處理器,也意味著Sun竭力鞏固既有優勢、開拓市場的強烈企圖心。具有大量先進技術的Solaris 10,以及和Opteron、新型多核心UltraSparc處理器的結合,是否可以讓負面新聞纏身、營運陷入困境的Sun從此撥雲見日?這就有待時間來證明了。

Solaris的版本命名
Sun早期的Unix作業系統是基於BSD 4.2而發展,一直持續至SunOS 4.0,在此之後,出現了轉向System V的Solaris 2.0(1992年)。所以,就某種意義上而言,SunOS 4.0亦可稱為「Solaris 1.0」。當然,由於體系不同,這兩者之間有著相當大的差別。

不過,值得注意的是,從Solaris 2.7開始,Sun更改命名策略,將其稱為Solaris 7,直至現有的Solaris 9以及發展中的Solaris 10。文⊙劉人豪

熱門新聞

Advertisement