新內核是振奮人心的,無論對於企業用戶、個人愛好者還是開發者。新內核的功能比以往任何一個版本都更加強大,它支持更多類型的處理器,提高了可靠性和可擴展性,勢必推動Linux更廣泛地應用。
對於高端服務器,新特性改進了性能、可擴展性、吞吐率,以及對多處理機服務器的支持。對於嵌入式領域,新內核合並了UCLinux,添加了新的體系結構和處理器類型,包括對無MMU系統的支持。對於桌面用戶,新內核則添加了一整套新的音頻和多媒體驅動程序。Linux強勁的發展勢頭再次向人們展現了其獨特的魅力。
Linux 2.6內核新特性
支持更多處理器,比如AMD64、一些大型機及嵌入式等,同時改進了對已有處理器的支持。
采用搶占式內核,使交互式操作的響應速度大大提高。
修改了I/O子系統部分,保證在各種工作負荷下I/O都有很好的響應速度。
更新了IDE/ATA、SCSI等存儲總線,解決和改善了以前的一些問題,比如2.6版內核可以直接通過IDE驅動程序來支持IDE CD/RW設備,而不必像以前一樣要使用一個特別的SCSI模擬驅動程序。
大量改進文件系統,比如支持Windows的邏輯卷管理器、重寫對NTFS文件系統的支持、改進HPFS等。
改進和部分重寫了Modules功能,使之更穩定。
改進對USB的支持,使之能夠支持當前多數主流的USB設備。
加強對無線設備的支持。
增加了ALSA(Advanced Linux Sound Architecture)。ALSA是有希望取代舊式OSS(Open Sound System)的另一種聲音系統,能支持全杜比錄音及回放、無縫混音、支持聲音合成設備、USB聲卡等。
支持更多種類和型號的多媒體設備。
網絡功能新增了對IPSec協議的支持,改進了對IPv6的支持。
新增“Enable different security models”。
編譯系統的改進。
實際上2.6版內核的很多新特性都是針對企業應用的改進,比如最大支持64個CPU、64GB內存、支持NUMA(非一致存儲訪問)等。對於普通PC用戶,從2.6版內核中感受到的將是USB支持、響應速度、音頻、無線設備、PDA等方面的提高。 Windows VS Linux內核
從應用角度看,Linux內核的主要任務是I/O設備管理、TCP/IP及任務調度等。Linux內核表現出高度的可配置性和獨立性,可以移植到多種平台上。Linux內核的可配置、可移植性使得Linux在許多領域中被廣泛使用。Linux的標准內核發布版本體積大概在40~50MB左右,而現在,一些在評估板上試驗用的嵌入式Linux系統(使用ARM或M68K系列嵌入式處理器)只用到2MB大小的內核,同樣能夠實現網絡功能和完整的任務調度。這使得Linux可以適用於從高端服務器到嵌入式應用的各等級平台。
與之相比,Windows並沒有明確的內核概念,它更適合於台式機。Window NT從未真正地打入高端服務器領域,嵌入式領域的WinCE系統也同樣遇到了一些結構性困難。
從性能角度比較,衡量一個內核優劣的重要指標是多任務環境下的安全性和任務調度效率。Linux在這方面繼承了Unix的優點。在多任務效率的比較上,Linux內核中的消息機制和通信模式使其在速度和性能上都更具優勢。
而Windows 9x系列(包括Windows Me)並沒有實現安全的多任務環境,windows 2000/NT雖在安全性上下了功夫,但結果仍然存在諸多的安全隱患和漏洞。
Linux 2.6內核VS Linux 2.4內核
新內核較之以往內核在很多方面都有突破性地改進,前面已有列舉。這裡再簡單對幾個較突出的方面進行比較,使讀者對新內核的新特性能有一個更清晰的了解。
1.服務器領域
在大型服務器領域,Unix一直獨占鳌頭。最新發布的Linux 2.6版內核增加了對安全性的改進和支持,從而使Linux具備了與Unix在這一領域抗衡的基礎。
Linux的穩定性和安全性一直都是商家青睐它的主要原因,大型服務器更是Linux在商業領域發展的頂梁柱。2.6版內核對更多新硬件類型的支持中也包含了對大型服務器更多的支持。這些服務器既有運行i386處理器的,也有運行其它處理器的。這些特性是新近加入Linux的,還有許多優化工作需要完成。但這是Linux發展相當迅速的一個領域,預計在不久的將來,Linux將成為服務器領域更有力的競爭者。
在Linux 2.6內核中,整個基於核心的安全體系,即類Unix操作系統中的超級用戶權限,已經被劃分成一些可以被替換的安全模塊。不過,目前提供的安全模塊只有一個缺省的,僅僅當作一個向我們展示如何自定義安全模塊的例子。作為這個變化的一部分,核心的所有部分都被更新,以具有更細粒度的用戶訪問控制,而不是像以前那樣的“超級用戶”系統。雖然幾乎所有的Linux系統將仍然存在具有完全訪問權限的root用戶,但上述改變使得類Linux系統可以不再必須如此。
另一個與安全相關的變化是一些二進制模塊不能再重載系統調用,也不能看到及修改系統調用表。這極大地限制了非開放源碼模塊在核心中的訪問,同時也修補了GPL版權協議在這方面可能存在的漏洞。
2.文件系統
1) 本地文件系統
相對於Linux 2.4而言,2.6版內核對於文件系統的支持在很多方面都有大的改進。
日志文件系統的最大優點是它的容錯能力。一個設計精良的日志文件系統在損壞恢復方面,比傳統的日志文件實現起來更容易、時間更短、返回服務功能更快。2.6版內核增加了對日志文件系統功能的支持,解決了2.4版在這方面的不足。
2.6版內核在文件系統上的關鍵變化還包括對擴展屬性及POSIX標准訪問控制的支持。ext2/ext3作為大多數Linux系統缺省安裝的文件系統,在2.6版內核中是改進最大的一個。最主要的變化是對擴展屬性的支持,即給指定的文件在文件系統中嵌入一些元數據。很多其它操作系統,如Windows已經大量地使用了這種擴展屬性。但Unix系的操作系統一般都還不能很好地支持擴展屬性,很多用戶級程序需要進行更新才能保存和轉儲這些擴展屬性信息。
2) 網絡文件系統
Linux下塊設備最常見的用法是在塊設備上建立一個文件系統。但並不是所有文件系統都作為塊設備被加載,像進程、共享內存和設備文件系統等完全都是虛擬的。還有其它一些文件系統是通過網絡加載的,其完成的方法多樣,許多操作系統都提供自己的方法來處理。Linux可以識別當前的大部分網絡文件系統(NFS)。
Linux 2.4內核在顯著提高NFS加載目錄穩定性的同時,還提供對NFS協議最新版本——NFSv3的支持。NFSv3能更好地支持文件系統同步、文件鎖定等功能。
Linux 2.6內核中,網絡文件系統同樣得到了更新和改進。最大的改進就是實驗性地支持NFSv4協議在客戶端和服務器端的實現。新版本有更強、更安全的身份認證(采用加密技術),支持更智能化的鎖管理、偽文件系統等。Linux 2.6還沒有實現所有NFS4的新特征,但目前的版本已經比較穩定,並能夠支持一些產品級的應用。同時,改進了基於Linux的NFS服務端的實現,從而具有更好的擴展性、完整性、健壯性。通過新的NFSd文件系統能夠更加便捷地管理,而不再需要通過系統調用來管理。
除了改進對網絡文件系統的支持,Linux 2.6在對Windows類型的網絡文件系統支持方面也進行了改進。Linux新內核能夠在SMB協議的客戶端對該協議的很多版本提供不錯地支持。同時,2.6新內核無需在內核編譯階段手動選擇從Windows 9x或Windows NT/2000加載的選項,而能夠自動檢測遠端操作系統的類型,並能夠進行必要地排錯。
Linux 2.6還加入了相對新的一些分布式網絡文件系統,支持一個邏輯卷上的文件分布在多個節點中。
3.嵌入式系統
嵌入式系統是一種以應用為中心,計算機技術為基礎,軟件/硬件可裁剪,適用於應用系統對功能、可靠性、成本、體積、功耗要求嚴格的專用計算機系統。
嵌入式領域是Linux應用的廣闊天地。uCLinux是Linux應用在微控制器平台的一個項目,是一種針對不帶MMU的ARM微處理器的嵌入式操作系統。uCLinux完全符合GNU/GPL公約,完全開放代碼,它的很多特性都和Linux相同,最典型的特征是無MMU(內存管理單元)。
Linux 2.6內核擴展多嵌入式平台支持的一個主要途徑就是把uCLinux的大部分並入主流內核功能中。目前許多嵌入式處理器如ARM系列等,很多都是無MMU的。uCLinux在嵌入式系統中的應用非常廣泛。因此,Linux 2.6對無MMU體系結構的支持,及將Linux和uCLinux合並到統一的新內核中,無疑為Linux在嵌入式領域的廣泛應用加重了砝碼。
總結
我們從三個不同方面提綱挈領地介紹了Linux 2.6內核的一些特點,旨在為讀者展示新內核的設計理念和相對於2.4版內核的進步。一個設計優良的操作系統應該有一個精簡一致的構造,在添加新功能時不必破壞原有的結構,並在後續發展中能夠保持前後一致。Linux由於最初設計時的科學性,在後來的發展中沒有在設計思想上做過大的變動。雖然Linux有很多版本,但是通過POSIX標准,這些不同版本的系統在源代碼上都能保持高度的兼容。因此,無論是最新推出的Linux 2.6版本內核,還是仍在不斷完善穩定的2.4版本內核,或者是將來功能更加強大的新內核,Linux都將會在兼容的基礎上繼續進步。