Windows/UNIX/Linux系統間的較量
2003年6月,一些計算機黑客舉行了一次“篡改者挑戰賽”,目標是在6小時內篡改6000個網站的頁面。根據所攻破的操作系統的不同為參與者計分。采用Windows系統的網站計1分,UNIX或Linux,3分。也就是說,他們認為UNIX和Linux比較難以攻破。
一、理解誤區:
誤區一:Linux比windows更容易被攻擊
有人認為Linux的代碼完全開放,也就是說,任何人都能得到UNIX和Linux中的“透明代碼”——包括黑客、心懷不滿的員工和競爭對手——而Windows的代碼是收到嚴格保護的知識產權,那么UNIX和Linux就應該比Windows更容易受到攻擊了,對吧?
“不對,”Justin Steinman,Novell北美區經理說,“和Windows所謂‘以隱匿求安全’相比,Linux的‘以透明求安全’更為安全。因為整個Linux團體都在完善和關注其代碼。一旦有人發現安全漏洞,人們就會對它進行修補,并把補丁程序發布給整個團隊。”
Steinman把這種響應速度和微軟的“補丁星期二”做了對比。微軟每個月的的第二個星期二發布Windows操作系統和其他應用軟件的補丁程序。“如果你在第二個星期三發現了漏洞呢?你得等上30天才能得到補丁程序。”他說。
誤區二:大多數Windows能干的事Linux干不了
像我們日常用的一些QQ,暴風影音,Word在Linux上都能使用,相對一些更加專業話的軟件Linux更是一個先驅者,比如 Matlab, Mathematica, AutoCAD, Candence的,Synopsys的,Avant!的......全都是先有 UNIX的版本(包括Linux),然后再考慮移植給Windows,甚至根本不移植給 Windows,因為 Windows的機器一般沒有足夠的能力運行這樣的程序。
誤區三:IDE
有些人在抱怨為什么 Linux沒有一個良好的 IDE開發環境。Linux現在已經有一些 IDE了,但是總是有很多問題。你是不是正在尋找,正在期望 Linux某一天可以有一個VC那樣的開發環境?你有沒有發現你正在進入微軟給你設下的怪圈?你為什么一定要用 IDE?你說:"IDE開發迅速,調試方便,適合大型程序......"那說明微軟的程序在我們的腦子里已經比較根深蒂固,真的是時候需要好好清醒一下了。
看看大型的 UNIX程序,包括 Linux內核,各種網絡服務程序,Xwindow程序在內,哪一個是 IDE搞出來的?還有Candence, Synopsys,Mentor的高性能的圖形界面 EDA程序也都不是 IDE寫的。微軟的人在寫 Windows本身的時候也根本不用 IDE!
有的時候,我們甚至將“編輯器”和“編譯器”都搞混淆了!一個窗口里輸入了代碼,點擊一個按鈕就可以編譯程序,但是這里面到底是怎么工作的,不知道!我們被蓋在上面的窗口擋住了視線,甚至會以為那個按鈕就是編譯器!一個 IDE 集成了編輯器,編譯器,匯編器,調試器,跟蹤器......這個編輯器功能肯定比不上 VIM或 Emacs,編譯器比不上 GCC,匯編器比不上 as,調試器比不上 gdb,ddd,跟蹤器比不上 strace,ltrace,truss。最后我們得到的是一套整合的很好的低能的程序。
而在 UNIX下就不一樣了。你可以用你最喜歡的 VIM編輯程序,你在 VIM里可以調用 GNU make,make可以調用 gcc, ld, ...實際上 make能幫你很多忙。make的出錯信息可以被 VIM捕獲,VIM能幫你在源程序里定位。你如果喜歡 icc,你可以讓 make用 icc而不是 gcc。你如果覺得 gdb跟蹤變量時比較麻煩,你可以用 ddd來顯示各種數據結構之間的關系。你還可以在 Emacs里調用 gdb,那樣就可以同步顯示源代碼了。而且 VIM和 Emacs還可以編輯很多其它東西,比如信件,LaTeX文檔,HTML,配置文件......你不用另外找一個什么編輯器來干這些雜活了。很多程序比如 Mutt, tin都可以在內部使用 VIM,這樣就更方便了。
二、安全性方面
1、權限方面:
Quandt指出,Linux和UNIX在架構中采用了“最少特權”概念。她把提供某些門的專用鑰匙與提供能打開所有房門的萬能鑰匙做了比較。在Linux 2.6中,安全架構比以前的版本有了很大改善,支持最少特權,具有以角色為基礎的接近權控制,用戶只進入他們需要使用的那部分系統即可。
2、用戶結構方面:
多用戶設計假定用戶較多,但坦白講,對他們信任較少。簡單來說,Windows把用戶程序和操作系統的核心集成到一起,而Linux和UNIX則把核心區域與用戶區域區分開來。
“這是固有的安全。” Sun公司Solaris Security經理Mark Thacker說,“UNIX從最開始就是多用戶系統,不是逐漸演變為服務器操作系統的臺式機系統。UNIX一直都是把用戶領域和核心領域分開的,這是任何源于DOS的操作系統所不具備的。”
3、運行狀況方面:
可以裸奔(無需殺毒軟件,反廣告/間諜防護軟件),甚至可以數月不用重啟機器,因為它具有獨特的內存管理方式。(大家可以想一下如果windows下裸奔會是怎樣的后果;windows如果很長一段時間不關機或是重啟,那么它運行肯定不會有剛開機時那么流暢),所以說安全上Linux與windows比較沒意思。
二、技術特點分析
這一方面就更加沒有意思了,甚至可以夸張的一點描述UNIX/Linux可以將Windows秒出十萬八千里。
1、內存機制方面
Linux有比 Windows先進的磁盤緩沖技術。你有沒有發現你往硬盤寫數據的時候,很快就完成了?那是因為 Linux在內存里有很多磁盤緩沖區,你要寫到硬盤上的數據先被寫到了這些內存里。在一定的間隔時間后,Linux才把數據寫回硬盤,這樣不但高效,避免了多次硬盤操作,而且減少了文件的不連續,也就是減少了"碎片"。Windows當然也有磁盤緩沖,但是由于它內存管理的低效率,它不敢把大量內存都用來作為磁盤緩沖,因為它沒有能力在用的時候隨時把內存收回來。
2、與硬件結合性
由于開放源代碼的特點LINUX得到AMD和INTEL公司的關注。因為這兩家公司都希望在64位芯片時代能夠和開放源代碼的操作系統系統緊密聯系LINUX的發展速度急快,從它的內核就可以看出。LINUX比其他操作系統更能適應芯片技術發展。
3、并行化多任務處理
Linux系統調度每一個進程平等地訪問微處理器。由于CPU的處理速度非常快,其結果是,啟動的應用程序看起來好像在并行運行。事實上,從處理器執行一個應用程序中的一組指令到Linux調度微處理器再次運行這個程序之間只有很短的時間延遲,用戶是感覺不出來的。
經過對最重量級的數據庫ORACLE 9i測試,在LINUX下的運行速度比在WIN2003 SERVER要快25%。這一篇,LINUX占了上風。每次ORACLE發布新版數據庫的時候,都是會最先發布Linux版本的,而Windows版本的至少要半年以后才發布,深入理解后認為從底層來說倆個版本簡直就是2種軟件,雖然提供相同的功能。
4、網絡信息化
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客戶機的文件和打印服務器。
三、市場方面
1、開源性方面:
楊元慶:“Windows不開源嚴重制約了IT產業發展”,開放源代碼是大勢所趨,Linux前途廣闊。互聯網免費的今天,開源性的事物將勢必會有更強的生存能力。
2、PC市場方向
全球PC市場出現了歷史上最嚴重的滑坡趨勢下,雖然在Window8的強烈攻勢下,消費者顯得無動于衷,依然轉向了智能手機和平板電腦。在如今Android和IOS占據大半江山的背景下,Windows Phone的前景愈發暗淡。顯然微軟在移動終端高速發展的今天,Windows操作系統存在天然的弱勢。
3、費用問題
很多Linux版本是不需要花錢的,恰恰相反,Windows每個版本的安裝都是需要另付費用的。