對於一個計算機系統來說,可伸縮性是一個非常重要的指標。那麼什麼是可伸縮性呢?可伸縮性是指一個計算機系統的體系結構能夠在何種程度上不斷擴展以滿足用戶的發展需求的特性。擴展的方式多種多樣:可以是轉移到一個完全不同的平台中,也可以是向原來的單一系統中增添一些新的硬件,增加新的CPU,或者是向群集中增加新的節點。此外,可伸縮性有時候也指一個操作系統在面向各種類型的系統和負荷時都能夠工作良好的能力,不論這些系統是機頂盒,桌面計算機,還是大規模的服務器,也不管訪問的對象是一個還是成千上萬。 本文將主要探討一下Windows 家族系列產品和Linux產品在可伸縮性方面的差異。硬件支持廣泛的硬件支持可能是任何流行操作系統最基本的要求,也是可伸縮性的一個重要方面。Windows操作系統在這個方面做得的確非常出色:一方面,Windows的廣泛使用使得任何硬件廠商在推出新的硬件時都會把Windows當作標准的平台加以支持,並且不斷為新的Windows版本更新驅動程序;另一方面,大量的硬件支持又反過來推動了Windows平台的進一步普及。今年推出的windows 2000在保留了Windows 98即插即用功能以外,還自帶了大量的硬件驅動程序。 Linux的硬件驅動程序通常都是由那些需要這些硬件的用戶自己來開發的. Linux的共享性能夠很快地給那些常用的硬件提供驅動程序,這些驅動程序需要後續的支持和幫助,來克服潛在的不穩定性。至於一些尚未普及的組件,如各式各樣的USB設備,其驅動程序的開發將需要更多的支持,來滿足不同用戶的需要。SMP(對稱多處理器)支持CPU是計算機系統的核心部分,是否具有良好的SMP支持將直接影響大型應用下的性能。 Windows 2000 Advanced Server的零售版本最多支持四路SMP,OEM版可以支持最多達32路的SMP。對CPU的支持級別和Windows 4.0相比沒有什麼變化,但是對SMP的實現代碼進行了改進,使得高性能的縮放可以更為“線性”地進行。Windows NT Server 4.0企業版已經實現了創紀錄的性能價格水平,隨著對SMP縮放的改進,這一趨勢將在Windows 2000 Advanced Server和Datacenter Server中得到延續。在采用八路設計或者多於八路設計的系統中,性能的提高最為明顯。 而Linux正致力於解決核心部分中的SMP支持,以提高Linux在大型應用下的性能。盡管Linux不是為SMP而設計的,Linux Torvalds也曾經說過Linux的SMP評測表現很差,但是我們期望這些問題能夠在2.4版本內核中得到解決,使更多的學校或者企業可以使用經過考驗的Linux來實現他們的核心程序。對群集的支持Windows 2000 Server具有強大的群集功能。Compaq最近之所以能在TPC-C比賽中傲視群雄,擊敗所有對手,靠的就是一個巨大的有著12個節點,96個處理器的群集,而它們運行的是Windows 2000 Server。盡管Linux沒有在高端系統中運行關鍵性應用程序方面有出色記錄,但最近Linux在群集項目也發布了不少東西,希望Linux的開發者大軍可以開發出更完善的群集功能。 對特定計算環境的支持使每一個系統都有適合於自己的工作場合,這就是系統對特定計算環境的支持。微軟開發了不同的操作系統來完成不同類型的任務。Windows CE適用於小型的手持式電腦和筆記本電腦,Windows 95/98和Windows 2000 Professional適用於桌面計算機,而Windows NT 4.0和Windows 2000 Server則適用於大型服務器應用程序。作為一個系列操作系統家族,Windows對各種不同的工作環境提供了良好的伸縮性支持。 由於Linux大部分可用的平台處於開發的初始階段,對於各種不同計算環境的支持將是Linux系統的下一步目標。文檔編制眾所周知,隨著系統變得越來越復雜,功能越來越強大,編制一個好的文檔是非常重要的。這有助於用戶對系統的理解和管理。詳盡的文檔說明,有助於我們熟練地掌握它所有的功能和特性。微軟通常為其產品提供了深入細致的文檔說明,在文檔的本地化方面也做得很好。Linux產品的文檔說明需要進一步的規范。 伸縮性是一個操作系統能否進入大型企業應用的一個重要標志,以上我們探討了Windows家族系列產品和Linux產品在可伸縮性方面具有各自的特點,Windows2000在這個方面已經減少了和UNIX之間的差距,而Linux目前更適合於小型的網絡應用,因此對於不同的網絡應用,需要我們有目的的選擇適合的操作系統。