新聞中心
Linux操作系統(tǒng)作為一種開源的操作系統(tǒng),廣泛應(yīng)用于各種場景中,從高性能計算到網(wǎng)絡(luò)設(shè)備等。然而,在開發(fā)過程中,Linux程序員經(jīng)常遇到條件競爭問題,這會導(dǎo)致程序的崩潰和數(shù)據(jù)的不一致,從而影響程序的穩(wěn)定性。本文將深入探討Linux條件競爭問題,提供一些解決方案,以提高程序的穩(wěn)定性。

創(chuàng)新互聯(lián)建站專注于延壽網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗。 熱誠為您提供延壽營銷型網(wǎng)站建設(shè),延壽網(wǎng)站制作、延壽網(wǎng)頁設(shè)計、延壽網(wǎng)站官網(wǎng)定制、微信平臺小程序開發(fā)服務(wù),打造延壽網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供延壽網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。
什么是條件競爭問題
條件競爭問題是一種多線程編程的常見問題。當(dāng)兩個或以上的線程同時競爭同一資源時,如果競爭的結(jié)果取決于系統(tǒng)運(yùn)行的具體時序,那么就會出現(xiàn)條件競爭問題。在Linux中,這種問題尤其突出,因為Linux使用了完全搶占式的調(diào)度方式,這就意味著線程可以被隨時中斷,切換到別的線程上。因此,如果線程之間沒有正確地進(jìn)行同步,就會出現(xiàn)條件競爭問題。
條件競爭問題的表現(xiàn)形式有很多種。最常見的是死鎖和活鎖。死鎖指的是多個線程在互相等待彼此釋放資源的情況下,都陷入了無限等待中,從而導(dǎo)致程序的崩潰。而活鎖則是指多個線程之間發(fā)生了資源爭用,但是每個線程都在主動釋放資源,并試圖重新請求資源,然而這個過程一直進(jìn)行下去,最終導(dǎo)致程序不能正常工作。
如何避免條件競爭問題
為了避免條件競爭問題,程序員需要采取一些策略,如下所述。
1. 同步工具和原語
在Linux系統(tǒng)中,有許多同步工具和原語可以用來幫助程序員進(jìn)行線程安全編程。最常見的是互斥鎖、條件變量和信號量?;コ怄i可以保證同時只有一個線程可以訪問被保護(hù)的資源,從而解決了多線程之間的競爭問題。條件變量可以讓線程在某個條件滿足時被喚醒。信號量則可以控制多個線程對某個共享資源的訪問順序。
這些同步工具和原語可以幫助程序員構(gòu)建更加健壯、可靠的多線程程序,但是并不能完全解決所有的條件競爭問題。因此,在程序開發(fā)過程中,程序員需要結(jié)合具體情況,選擇合適的同步工具和原語。
2. 避免競爭條件
避免競爭條件也是一種有效的策略,它的核心思想是盡量避免多個線程之間的競爭。在多線程環(huán)境下,線程之間競爭的資源包括共享內(nèi)存、文件、網(wǎng)絡(luò)連接等等。因此,程序員需要在設(shè)計程序時,考慮如何避免線程之間的競爭,盡量減少同步操作的耗時。
例如,在處理共享數(shù)據(jù)時,可以使用分離關(guān)注點的方式來避免競爭條件。即將共享數(shù)據(jù)分成多個部分,每個線程只關(guān)注其中的一部分,并盡可能避免不必要的通信和同步操作。
3. 編寫可重入和線程安全代碼
在多線程編程中,程序員需要編寫可重入和線程安全的代碼??芍厝胫傅氖谴a可以同時被多個線程調(diào)用而不會產(chǎn)生沖突的屬性。而線程安全則要求代碼在多線程環(huán)境下能夠正確地工作,并且不會導(dǎo)致數(shù)據(jù)的不一致。
為了編寫可重入和線程安全的代碼,程序員需要注意以下幾點:
– 避免使用全局變量和靜態(tài)變量。
– 盡量避免在函數(shù)中使用非線程安全的函數(shù)。
– 對于共享資源,使用同步工具和原語進(jìn)行保護(hù)。
以上策略可以幫助程序員編寫出更加健壯和可靠的多線程程序,從而提高程序的穩(wěn)定性。
結(jié)論
本文深入探討了Linux條件競爭問題,介紹了避免競爭條件、使用同步工具和原語、編寫可重入和線程安全代碼等多種策略,以提高程序的穩(wěn)定性。條件競爭問題在多線程編程中是一個普遍存在的問題,程序員需要了解原因、解決方案,并靈活應(yīng)用各種技術(shù)手段,才能編寫出更加健壯和可靠的程序。
相關(guān)問題拓展閱讀:
- linux系統(tǒng)和 windows系統(tǒng)相比,有什么優(yōu)勢和不足?
- Linux與Windows的安全性比較
linux系統(tǒng)和 windows系統(tǒng)相比,有什么優(yōu)勢和不足?
Linux和Windows是兩種操作系統(tǒng),對于服務(wù)器運(yùn)維的人來說,在為服務(wù)器選擇操作系統(tǒng)系統(tǒng)的時候,是選擇Linux還是Windows是讓人困惑的事?
從用戶群來說Linux是一個以開發(fā)者為中心的操作系統(tǒng),而windows是以消費(fèi)者為中心的操作系統(tǒng),這也是兩個操作系統(tǒng)作為根本的區(qū)別。簡單來講,兩個系統(tǒng)的選擇就是看你是開發(fā)用還是作為消費(fèi)者使用。
具體到Linux與Windows的優(yōu)缺點,可以總結(jié)為一下幾點
1.Linux可以看到源代碼,windows不行。
這一點直接導(dǎo)致的結(jié)果就是在特殊應(yīng)用的場合可以自行剪裁和定制所需的內(nèi)核模塊,這對于高級系統(tǒng)內(nèi)核管理優(yōu)化和驅(qū)動程序的開發(fā)相當(dāng)有利,另外也因為代碼可見,不用擔(dān)心惡意功能或者后門,對于軍政企的使用比較有利。另外在系統(tǒng)出現(xiàn)嚴(yán)重問題的時候,可以自行修改代碼或者接個幾k的patch就能編譯然后使用,而windows你得等微軟的補(bǔ)丁。
2、Linux命令行功能強(qiáng)大,可以做任何事情,windows也有命令行,但是屬于附屬品。
命令行是Linux的根本,甚至你對某些命令不滿意,你也可以自己修改或者編個自己的命令出來。命令行的好處是唯咐毀可重復(fù)。想要知道命令行的具體是什么你可以訪問老男孩教育。如果你想要告訴別人一件事怎么做,一個命令行發(fā)過去就可以,想要再做一遍之前做過的一件事,調(diào)出歷史命令記錄重新執(zhí)行一下就行。很多要定時做的事情寫成腳本設(shè)個crontab定時,就完事兒。另外這樣也可以保證你用一樣的命令行,做的是一樣的事情。
3、開放源碼和高度可定制
開放源碼的初衷,不是為了自由而是為了定制。AT&T UNIX從來就是有版權(quán)的,但是源代碼仍然可用,這是為了讓用戶能夠根據(jù)需要,去修改它指備。Linux社區(qū)所贊賞的軟件和系統(tǒng),多半遵簡跡循同樣的規(guī)則——它應(yīng)該能夠適應(yīng)不同用戶的不同環(huán)境,能夠輕易的改變自己的行為,能夠輕松的與不同環(huán)境整合。與其假設(shè)別人和你的需求一致,不如給予它們定制系統(tǒng)的自由。
4、去中心化
分散的軟件開發(fā),也注定了系統(tǒng)的接口和形式不統(tǒng)一——因為大家都喜歡發(fā)明輪子。而每個人的輪子或多或少更適合自己和社區(qū),而非所有人,而在Linux的環(huán)境下又沒有人能強(qiáng)迫所有人用自己的輪子(除了Kernel開發(fā)者,但其實很多distro對kernel也有patch),所以與其制定一種實踐,Linux更多的讓用戶去選擇生活的方式。
你會看到Linux生態(tài)環(huán)境中有大量的distro,不同的distro有不同的init方式,不同的軟件包管理器和安裝策略;每個人習(xí)慣使用不同的VCS,不同的shell,不同的編輯器,都就是更多的選擇的哲學(xué)的體現(xiàn)。
5、Linux是基于網(wǎng)絡(luò)的,誕生于網(wǎng)絡(luò)。
遠(yuǎn)程連接上SSH,你就可以輕松操控遠(yuǎn)在千里之外的Linux服務(wù)器,只要有相應(yīng)的權(quán)限,幾乎和坐在物理機(jī)面前沒有區(qū)別,哪怕網(wǎng)速很糟糕,實際只是一些加密的字符在傳送,需要的帶寬很小。
(1)Linux速度比較快,安全性比windows好
(2)有很多軟件只能在windows里運(yùn)行 ,與Linux兼容的軟件正在開發(fā)中.
(3)Linux適用在網(wǎng)絡(luò)方面.
(4)Linux的操作比較鄭并復(fù)雜,windows的比較簡單.
Linux 的應(yīng)用目標(biāo)是網(wǎng)絡(luò)而不是打印
Windows最初出現(xiàn)的時候,這個世界還是一個紙張的世界。Windows的偉大成就之
一在于您的工作成果可以哪野方便地看到并打印出來。這樣一個開端影響了 Windows
的后期發(fā)展。
同樣,Linux 也受到了其起源的影響。Linux 的設(shè)計定位于網(wǎng)絡(luò)操作系統(tǒng)。它的
設(shè)計靈感來自于 Unix 操作系統(tǒng),因此它的命令的設(shè)計比較簡單,或者說是比較
簡潔。由于純文本可以非常好地跨網(wǎng)絡(luò)工作,所以 Linux 配置文件和數(shù)據(jù)都以文
本為基礎(chǔ)。
對那些熟悉圖形環(huán)境的人來說,Linux服務(wù)器初看可能比較原始。但是Linux開發(fā)
更多關(guān)注的是它的內(nèi)在功能而不是表面上的東西。即使是在純文本的環(huán)境中,Lin
ux同樣擁有非常網(wǎng)絡(luò)、腳本和安全能力。執(zhí)行一些任務(wù)所需的某些表面上
看起來比較奇怪的步驟是令人費(fèi)解的,除非您認(rèn)識到 Linux 是期望在網(wǎng)絡(luò)上與其
他 Linux系統(tǒng)協(xié)同執(zhí)行這些任務(wù)。Linux的自動執(zhí)行能力也很強(qiáng),只需要設(shè)計批處
理文件就可以讓系統(tǒng)自動完成非常詳細(xì)的任務(wù)。Linux 的這種能力來自于其基于
文本的本質(zhì)。
可選的 GUI
Linux有圖形組件。Linux支持高端的圖形適配器和顯示器,完全勝任圖形相關(guān)的
工作?,F(xiàn)在,許多數(shù)字效果藝術(shù)家在Linux工作站上來進(jìn)行他們的設(shè)計工作,而以
前這些工作需要使用IRIX系統(tǒng)來完成。但是,圖形環(huán)境并沒有集成到 Linux 中,
而是運(yùn)行于系統(tǒng)之上的單獨一層。這意味著您可以只運(yùn)行 GUI,或者在需要時才
運(yùn)行 GUI。如果您的系統(tǒng)主要任務(wù)是提供Web應(yīng)用,那么您可以停掉圖形界面,而
將其所用的內(nèi)存和CPU資源用于您的服務(wù)。如果您需要在 GUI 環(huán)境下做一些工作
,可以再打開它,工作完成后再將其關(guān)閉。
Linux 有圖形化的管理工具,以及日常辦公的工具,比如電子郵件、網(wǎng)絡(luò)瀏覽器
和文檔處理工具等。不過,在 Linux 中,圖形化的管理工具通常是控制臺 (命令
行) 工具的擴(kuò)展。也就是說,用圖形化工具能完成的所有工作,用控制臺命令同
樣可以完成。同樣,使用圖形化工具并不妨礙您對配置文件進(jìn)行手工修改。其實
際意義可能并不是特別顯而易見,但是,如果在圖形化管理工具中所做的任何工
作都可以以命令行的方式完成,這就表示那些工作也可李叢喊以由一個腳本來實現(xiàn)。腳
本化的命令可以成為自動執(zhí)行的任務(wù)。Linux 同時支持這兩種方式,并不要求您
只用文本或者只用 GUI。您可以根據(jù)您的需要選擇更好的方法。
Linux 中的配置文件是人類可讀的文本文件,這與過去的 Windows 中的 INI 文
件類似,但與 Windows 的注冊表機(jī)制在思路上有本質(zhì)的區(qū)別。每一個應(yīng)用程序都
有其自己的配置文件,而且通常不與其他的配置文件放在一起。不過,大部分的
配置文件都存放于一個目錄樹 (/etc) 下的單個地方,所以看起來它們在邏輯上
是在一起。文本文件的配置方式使得不通過特殊的系統(tǒng)工具就可以完成配置文件
的備份、檢查和編輯工作。
文件名擴(kuò)展
Linux不使用文件名擴(kuò)展來識別文件的類型。相反,Linux根據(jù)文件的頭內(nèi)容來識
別其類型。為了提高人類可讀性您仍可以使用文件名擴(kuò)展,但這對 Linux 系統(tǒng)來
說沒有任何作用。不過,有一些應(yīng)用程序,比如 Web 服務(wù)器,可能使用命名約定
來識別文件類型,但這只是特定的應(yīng)用程序的要求而不是 Linux 系統(tǒng)本身的要求
。
Linux通過文件訪問權(quán)限來判斷文件是否為可執(zhí)行文件。任何一個文件都可以賦予
可執(zhí)行權(quán)限,這樣程序和腳本的創(chuàng)建者或管理員可以將它們識別為可執(zhí)行文件。
這樣做有利于安全。保存到系統(tǒng)上的可執(zhí)行的文件不能自動執(zhí)行,這樣就可以防
止許多腳本病毒。
重新引導(dǎo)是最后的手段
如果您使用Windows已經(jīng)很長時間了,您可能已經(jīng)習(xí)慣出于各種原因(從軟件安裝
到糾正服務(wù)故障)而重新引導(dǎo)系統(tǒng)。在Linux思想中您的這一習(xí)慣需要改變。Linu
x在本質(zhì)上更遵循“牛頓運(yùn)動定律”。一旦開始運(yùn)行,它將保持運(yùn)行狀態(tài),直到受
到外來因素的影響,比如硬件的故障。實際上,Linux系統(tǒng)的設(shè)計使得應(yīng)用程序不
會導(dǎo)致內(nèi)核的崩潰,因此不必經(jīng)常重新引導(dǎo)(與Windows系統(tǒng)的設(shè)計相對而言)。
所以除了Linux內(nèi)核之外,其他軟件的安裝、啟動、停止和重新配置都不用重新引
導(dǎo)系統(tǒng)。
如果您確實重新引導(dǎo)了 Linux 系統(tǒng),問題很可能得不到解決,而且還會使問題更
加惡化。學(xué)習(xí)并掌握 Linux 服務(wù)和運(yùn)行級別是成功解決問題的關(guān)鍵。學(xué)習(xí) Linux
最困難的就是克服重新引導(dǎo)系統(tǒng)的習(xí)慣。
另外,您可以遠(yuǎn)程地完成Linux中的很多工作。只要有一些基本的網(wǎng)絡(luò)服務(wù)在運(yùn)行
,您就可以進(jìn)入到那個系統(tǒng)。而且,如果系統(tǒng)中一個特定的服務(wù)出現(xiàn)了問題,您
可以在進(jìn)行故障診斷的同時讓其他服務(wù)繼續(xù)運(yùn)行。當(dāng)您在一個系統(tǒng)上同時運(yùn)行多
個服務(wù)的時候,這種管理方式非常重要。
命令區(qū)分大小寫
所有的 Linux 命令和選項都區(qū)分大小寫。例如, -R 與 -r 不同,會去做不同的
事情??刂婆_命令幾乎都是小寫的。我們將在“ 第 2 部分. 控制臺速成班”中
對命令進(jìn)行更詳細(xì)的介紹。
廣泛的硬件支持可能是任何流行操作系統(tǒng)最基本的要求,也是可伸縮性的一個重要方面。Windows操作系統(tǒng)在這個方面做得的確非常出色:一方面,Windows的廣泛使用使得任何硬件廠商在推出新的硬件時都會把Windows當(dāng)作標(biāo)準(zhǔn)的平臺加以支持,并且不斷為新的Windows版本更新驅(qū)動程序;另一方面,大量的硬件支持又反過來推動了Windows平臺的進(jìn)一步普及。
Linux的硬件驅(qū)動程序通常都是由那些需要這些硬件的用戶自己來開發(fā)的. Linux的共享性能夠很快地給那些常用的硬件提供驅(qū)動程序,這些驅(qū)動程序需要后續(xù)的支持和幫助,來克服潛在的不穩(wěn)定性。至于一些尚未普及的組件,如各式各樣的USB設(shè)備,其驅(qū)動程序的開發(fā)將需要更多的支持,來滿足不同用戶的需要。
P(對稱多處理器)支持
CPU是計算機(jī)系統(tǒng)的核心部分,是否具有良好的P支持將直接影響大型應(yīng)用下的性能。
Windows 2023 Advanced Server的零售版本最多支持四路P,OEM版可以支持最多達(dá)32路的P。對CPU的支持級別和Windows 4.0相比沒有什么變化,但是對P的實現(xiàn)代碼進(jìn)行了改進(jìn),使得高性能的縮放可以更為“線性”地進(jìn)行。Windows NT Server 4.0企業(yè)版已經(jīng)實現(xiàn)了創(chuàng)紀(jì)錄的性能價格水平,隨著對P縮放的改進(jìn),這一趨勢將在Windows 2023 Advanced Server和Datacenter Server中得到延續(xù)。在采用八路設(shè)計或者多于八路設(shè)計的系統(tǒng)中,性能的提高最為明顯。
而Linux正致力于解決核心部分中的P支持,以提高Linux在大型應(yīng)用下的性能。盡管Linux不是為P而設(shè)計的,Linux Torvalds也曾經(jīng)說過Linux的P評測表現(xiàn)很差,但是我們期望這些問題能夠在2.4版本內(nèi)核中得到解決,使更多的學(xué)?;蛘咂髽I(yè)可以使用經(jīng)過考驗的Linux來實現(xiàn)他們的核心程序。
對群集的支持
Windows 2023 Server具有強(qiáng)大的群集功能。Compaq最近之所以能在TPC-C比賽中傲視群雄,擊敗所有對手,靠的就是一個巨大的有著12個節(jié)點,96個處理器的群集,而它們運(yùn)行的是Windows 2023 Server。
盡管Linux沒有在高端系統(tǒng)中運(yùn)行關(guān)鍵性應(yīng)用程序方面有出色記錄,但最近Linux在群集項目也發(fā)布了不少東西,希望Linux的開發(fā)者大軍可以開發(fā)出更完善的群集功能
對特定計算環(huán)境的支持
使每一個系統(tǒng)都有適合于自己的工作場合,這就是系統(tǒng)對特定計算環(huán)境的支持。
微軟開發(fā)了不同的操作系統(tǒng)來完成不同類型的任務(wù)。Windows CE適用于小型的手持式電腦和筆記本電腦,Windows 95/98和Windows 2023 Professional適用于桌面計算機(jī),而Windows NT 4.0和Windows 2023 Server則適用于大型服務(wù)器應(yīng)用程序。作為一個系列操作系統(tǒng)家族,Windows對各種不同的工作環(huán)境提供了良好的伸縮性支持。
由于Linux大部分可用的平臺處于開發(fā)的初始階段,對于各種不同計算環(huán)境的支持將是Linux系統(tǒng)的下一步目標(biāo)。
文檔編制
眾所周知,隨著系統(tǒng)變得越來越復(fù)雜,功能越來越強(qiáng)大,編制一個好的文檔是非常重要的。這有助于用戶對系統(tǒng)的理解和管理。詳盡的文檔說明,有助于我們熟練地掌握它所有的功能和特性。
微軟通常為其產(chǎn)品提供了深入細(xì)致的文檔說明,在文檔的本地化方面也做得很好。Linux產(chǎn)品的文檔說明需要進(jìn)一步的規(guī)范。
回答者:可愛的小剛絲 – 試用期 一級:12
1、從系統(tǒng)構(gòu)成上來說,linux是開源軟件,而windows不是。那就意味著,如果你喜歡你可以對linux系統(tǒng)做你想做的任何改動。而這點對于windows來說,是想也不要想的。
2、從運(yùn)行的穩(wěn)定性來說。各有利弊。但linux的任何程序都是相對獨立的,哪怕gnome和kde(圖形界面)也是獨立的。而軟件的崩潰只是軟件的崩潰,很少造成系統(tǒng)的癱瘓(死機(jī))。只有重新運(yùn)行程序就好了。windows嗎,就不用說了,沒見過windows死機(jī)的人,我沒見過。
3、從多用戶來說,linux是真正的多用戶系統(tǒng)??梢远鄠€用戶真正登錄,這對于windows來說,雖然也有了雛形,但太兒戲化了,擺設(shè)而已。
4、對于中文的支持來說。windows的多個版本對于windows的支持是很強(qiáng)的。字體也很漂亮。而linux雖然也支持中文,但要完全支持中文是要手動做很多設(shè)置的,不過就算做的再好??傆袡C(jī)會看到中文亂碼的(因為幾乎每個軟件都要設(shè)置字體和字符編碼的)。而且中文的字體比較煩,不是很好看。(好看的基本都不是開源的。ps:如果你都不想為操作系統(tǒng)花錢,還會去買幾個字體嗎。當(dāng)然也有盜版@不是用linux的初衷了。)
5、對于系統(tǒng)更新來說,apt是目前l(fā)inux不二的選擇了,快捷普遍、簡單。而且無什么正版驗證之虞的。windows也不錯,可以漏洞總比補(bǔ)丁來的快,更何況我沒用過正版的呢。
6、從安全性來說。其實上一條也說過這個問題了。我們用windows時,殺毒軟件、防火墻、防垃圾軟件、防間諜軟件占去了大部分的系統(tǒng)資源??蛇@樣還是防不勝防的。有誰沒中過毒或木馬、流氓軟件呢?
linux?不用這些煩人的東西。
7、從應(yīng)用軟件來說,雖然linux下的軟件有很多,但和windows來說,真的沒辦法比的。誰讓windows幾乎成了操作系統(tǒng)的代名了呢。
8、從易用性來說,我自我的感覺,在常用的windows、mac、linux中,無論界面、鼠標(biāo)操作、文件格式,windows都是相當(dāng)容易上手的。其他的操作系統(tǒng),幾乎都要是摸索中探索的。更何況linux的很多配置都是基于文檔的,也就是要手工的修改一些配置文件。對于想我這樣的老人來說,厄長的代碼,明天還能記得否?
windows幾乎一支鼠標(biāo)就能解決所有問題。呵呵
9、綜述:當(dāng)然各種的優(yōu)缺點遠(yuǎn)不至就這些,就不過說了。
如果要出于個人應(yīng)用的話,還是用windows吧。學(xué)習(xí)容易,資料好早。
如果出于學(xué)習(xí)的話,還是用用linux吧,但你要做好不厭其煩的心理準(zhǔn)備!對于混亂的linux版本來說,你要記得同樣的問題,可以有n種解決辦法,但可能只有一種合適你的。網(wǎng)上資料相對比較匱乏,比較單一,而且抄襲嚴(yán)重。
linux我推薦用新華linux,中文化很好了(少煩很多神的),論壇也做的不錯。
1. Linux的操作比較復(fù)雜,windows的比較簡單.
Linux速度比較快,安全性比windows好
但是有很多軟件只能在windows里運(yùn)行
與Linux兼容的軟件正在開發(fā)中.
Linux適用在網(wǎng)絡(luò)方面.
2. 什么是Linux?
簡單地說, Linux是一套免費(fèi)使用和自由傳播的類 Unix操作系統(tǒng),它主要用于基
于 Intel x86系列 CPU的計算機(jī)上。這個系統(tǒng)是由世界各地的成千上萬的程序員
設(shè)計和實現(xiàn)的。其目的是建立不受任何商品化軟件的版權(quán)制約的、全世界都能自
由使用的 Unix兼容產(chǎn)品。 Linux的出現(xiàn),最早開始于一位名叫 Linus Torvalds
的計算機(jī)業(yè)余愛好者,當(dāng)時他是芬蘭赫爾辛基大學(xué)的學(xué)生。他的目的是想設(shè)計一
個代替 Minix(是由一位名叫 Andrew Tannebaum的計算機(jī)教授編寫的一個操作系
統(tǒng)示教程序)的操作系統(tǒng),這個操作系統(tǒng)可用于 386、 486或奔騰處理器的個返伍唯人
計算機(jī)上,并且具有 Unix操作系統(tǒng)的全部功能,因而開始了 Linux雛形的設(shè)計。
Linux以它的高效性和靈活性著稱。它能夠在 PC計算機(jī)上實現(xiàn)全部的 Unix特性,
具有多任務(wù)、多用戶的能力。 Linux是在 GNU公共許可權(quán)限下免費(fèi)獲得的,是一
個符合 POSIX標(biāo)準(zhǔn)的操作系統(tǒng)。 Linux操作系統(tǒng)軟件包不僅包括完整的 Linux操
作系統(tǒng),而且還包括了文本編輯器、高級語言編譯器等應(yīng)用軟件。它還包括帶有
多個窗口管理器的 X-Windows圖形用戶界面,如同我們使用 Windows NT一樣,允
許我們使用窗口、圖標(biāo)和菜單對系統(tǒng)進(jìn)行操作。
Linux與其他操作系統(tǒng)有什么區(qū)別:
Linux可以與 MS-DOS、 OS/2、 Windows等其他操作系統(tǒng)共存于同一臺機(jī)器上。它
們均為操作系統(tǒng),具有一些共性,但是互相之間各有特色,有所區(qū)別。
目前運(yùn)行在 PC機(jī)上的操作系統(tǒng)主要有Microsoft的 MS-DOS、 Windows、 Windows
NT、 IBM的 OS/2等。早期的 PC機(jī)用戶普遍使用 MS-DOS,因為這種操作系統(tǒng)對機(jī)
器的硬件配置要求不高,而隨著計算機(jī)硬件技術(shù)的飛速發(fā)展,硬件設(shè)備價格越來
越低,人們可以相對容易地提高計算機(jī)的硬件配置,于是開始使用
Windows、Windows NT等具有圖形界面的操作系統(tǒng)。 Linux是新近被人們所關(guān)注的
操作系統(tǒng),它正在逐漸為 PC機(jī)的用戶所接受。那么, Linux與其他操作系統(tǒng)的主
要區(qū)別是什么呢?下面從兩個方面加以論述。
首先看一下Linux與 MS- DOS之間的區(qū)別。 在同一系統(tǒng)上運(yùn)行 Linux和 MS-DOS
已很普遍,就發(fā)揮處理器功能來說, MS-DOS沒有完全實現(xiàn) x86處理器的功能,而
Linux完全在處理器保護(hù)模式下運(yùn)行,并且開發(fā)了處理器的所有特性。 Linux可以
直接訪問計算機(jī)內(nèi)的所有可用內(nèi)存,提供完整的 Unix接口。而 MS-DOS只支持部
分 Unix的接口。
就使用費(fèi)用而言, Linux和 MS-DOS是兩種完全不同的實體。與其他商業(yè)操作系統(tǒng)
相比, MS-DOS價格比較便宜,而且在 PC機(jī)用戶中有很大的漏培占有率,任何其他 PC
機(jī)操作系統(tǒng)都很難達(dá)到 MS-DOS的普及程度,因為其他橘橡操作系統(tǒng)的費(fèi)用對大多數(shù)
PC機(jī)用戶來說都是一個不小的負(fù)擔(dān)。 Linux是免費(fèi)的,用戶可以從 internet上或
者其他途徑獲得它的版本,而且可以任意使用,不用考慮費(fèi)用問題。 就操作系統(tǒng)
的功能來說, MS-DOS是單任務(wù)的操作系統(tǒng),一旦用戶運(yùn)行了一個 MS-DOS的應(yīng)用
程序,它就獨占了系統(tǒng)的資源,用戶不可能再同時運(yùn)行其他應(yīng)用程序。而 Linux
是多任務(wù)的操作系統(tǒng),用戶可以同時運(yùn)行多個應(yīng)用程序。 再看一下 Linux與
OS/2、 Windows、 Windows NT之間的區(qū)別。
從發(fā)展的背景看, Linux與其他操作系統(tǒng)的區(qū)別是, Linux是從一個比較成熟的
操作系統(tǒng)發(fā)展而來的,而其他操作系統(tǒng),如 Windows NT等,都是自成體系,無對
應(yīng)的相依托的操作系統(tǒng)。這一區(qū)別使得 Linux的用戶能大大地從 Unix團(tuán)體貢獻(xiàn)中
獲利。因為 Unix是世界上使用最普遍、發(fā)展最成熟的操作系統(tǒng)之一,它是七十年
代中期發(fā)展起來的微機(jī)和巨型機(jī)的多任務(wù)系統(tǒng),雖然有時接口比較混亂,并缺少
相對集中的標(biāo)準(zhǔn),但還是發(fā)展壯大成為了最廣泛使用的操作系統(tǒng)之一。無論是
Unix的作者還是 Unix的用戶,都認(rèn)為只有 Unix才是一個真正的操作系統(tǒng)。
3. 首先你需要明白,Linux不是windows,它不是一個由一家商業(yè)公司維護(hù)的軟件
,
只有一個包裝。Linux是可以任意包裝自由配置的東西。任何一個人,一家公司
都可以按照自己的想法,比如加一點功能,加中文支持,作一個Linux出來。這些
Linux雖然核心部分都一樣,但是他們所帶的各種軟件,缺省的配置都不一樣。區(qū)
別
是用一種Linux 發(fā)布 (不同的Linux我們叫做不同的發(fā)布)也許硬件很好配置,
各種軟件也好安裝,用另外一種也許速度快,再一種也許支持中文比較好??傊?/p>
沒有白吃的午餐,在windows下想當(dāng)然的東西在linux下也許需要你熬夜才能得到
。
所以從一開始選擇distribution就必須非常小心,否則因為自己剛好隨某個雜志
得到一個Linux發(fā)布就以為所有的都一樣就開始安裝,等硬盤數(shù)據(jù)毀了,
或者網(wǎng)絡(luò)哭天蹌地也配不出來的時候,就晚了。不是開玩笑,我知道windows下
安裝驅(qū)動程序就是鼠標(biāo)點幾下,可是在Linux下,為了驅(qū)動一個網(wǎng)卡,折騰一夜
是不希奇的 — 當(dāng)然,我覺得這是值得的。
所以,面對那么多Linux distribution,你應(yīng)當(dāng)選擇哪個呢?
比較著名的Linux distribution有:
RedHat:最新版本6.2, 7.0beta。由于RedHat公司已經(jīng)上市,獲得了很多
商業(yè)的支持,所以它在硬件軟件兼容性上很好。實際上它已經(jīng)是Linux的
工業(yè)標(biāo)準(zhǔn)。想象一下如果你是一個比如Oracle這樣廠商的老板,你需要為
Linux開發(fā)一個版本,而不同的Linux dist需要單獨開發(fā)維護(hù),為成本考慮你
自然會只認(rèn)準(zhǔn)一個Linux。
Slackware(7.1)。很早就有的Linux,有很多老的忠實用戶,但現(xiàn)在越來越不行了
。
SuSe Linux,德國人做的,在歐洲很流行,有一些驅(qū)動上的優(yōu)勢。
另外還有Debian,CorelLinux等dist,不一一介紹了。
還有你會看到國內(nèi)媒體上吹捧的各種“中文Linux”,他們的優(yōu)勢主要是有
中文處理。但是如前一篇文章提到的,想用中文,用windows 2023更好。實際上
我覺得一個老7字班的前輩跟我說的一句話很好:“(對我們來說)在計算機(jī)上看
到
中文本身就是一件很古怪的事情”。如果你是抱著學(xué)習(xí)計算機(jī)的目的而來,那么
你不可能避免閱讀英文文檔。即使是microsoft的文檔,有關(guān)編程的文檔,最新的
也
全是英文。當(dāng)然,要上BBS,看中文網(wǎng)頁等,用英文的dist一樣能做到
4. Linux和Windows的區(qū)別
和Linux 一樣,Windows系列是完全的多任務(wù)操作系統(tǒng)。它們支持同樣的用戶接口
、網(wǎng)絡(luò)和安全性。但是,Linux和Windows的真正區(qū)別在于,Linux 事實上是Unix
的一種版本,而且來自Unix的貢獻(xiàn)非常巨大。是什么使得Unix如此重要?不僅在
于對多用戶機(jī)器來說,Unix是更流行的操作系統(tǒng),而且在于它是免費(fèi)軟件的基礎(chǔ)
。在Internet上,大量免費(fèi)軟件都是針對Unix系統(tǒng)編寫的。由于有眾多的Unix廠
商,所以Unix也有許多實現(xiàn)方法。沒有一個單獨的組織負(fù)責(zé)Unix的分發(fā)?,F(xiàn)在,
存在一股巨大的力量推動Unix社團(tuán)以開放系統(tǒng)的形式走向標(biāo)準(zhǔn)化。另一方面Windo
ws系列是專用系統(tǒng),由開發(fā)操作系統(tǒng)的公司控制接口和設(shè)計。在這個意義上這種
公司利潤很高,因為它對程序設(shè)計和用戶接口設(shè)計建立了嚴(yán)格的標(biāo)準(zhǔn),和那些開
放系統(tǒng)社團(tuán)完全不一樣。一些組織正在試圖完成標(biāo)準(zhǔn)化Unix程序設(shè)計接口的任務(wù)
。特別要指出的是,Linux完全兼容POSIX.1標(biāo)準(zhǔn)。
安全問題對于IT管理員來說是需要長期關(guān)注的。主管們需要一套框架來對操作系
統(tǒng)的安全性進(jìn)行合理的評估,包括:基本安全、網(wǎng)絡(luò)安全和協(xié)議,應(yīng)用協(xié)議、發(fā)
布與操作、確信度、可信計算、開放標(biāo)準(zhǔn)。在本文中,我們將按照這七個類別比
較微軟Windows和Linux的安全性。最終的定性結(jié)論是:目前為止,Linux提供了相
對于Windows更好的安全性能,只有一個方面例外(確信度)。
無論按照什么標(biāo)準(zhǔn)對Windows和Linux進(jìn)行評估,都存在一定的問題:每個操作系
統(tǒng)都不止一個版本。微軟的操作系統(tǒng)有Windows98、 Windows NT、 Windows 2023
、 Windows 2023 Server和Windows
CE,而Linux的發(fā)行版由于內(nèi)核(基于2.2、2.4、2.6)的不同和軟件包的不同也
有較大的差異。我們本文所使用的操作系統(tǒng),都是目前的技術(shù)而不是那些”古老”
的解決方案。
用戶需要記?。篖inux和Windows在設(shè)計上就存在哲學(xué)性的區(qū)別。Windows操作系統(tǒng)
傾向于將更多的功能集成到操作系統(tǒng)內(nèi)部,并將程序與內(nèi)核相結(jié)合;而Linux不同
于Windows,它的內(nèi)核空間與用戶空間有明顯的界限。根據(jù)設(shè)計架構(gòu)的不同,兩者
都可以使操作系統(tǒng)更加安全。
Linux和Windows安全性的基本改變
對于用戶來說,Linux和Windows的不斷更新引發(fā)了兩者之間的競爭。用戶可以有
自己喜歡的系統(tǒng),同時也在關(guān)注競爭的發(fā)展。微軟的主動性似乎更高一些――這
是由于業(yè)界”冷嘲熱諷”的”激勵”與Linux的不斷發(fā)展。微軟將在下幾個月對Window
s安全進(jìn)行改觀,屆時微軟會發(fā)布Windows XP的WindowsXP Service Pack 2。這一
服務(wù)包增強(qiáng)了Windows的安全性,關(guān)閉了原先默認(rèn)開放的許多服務(wù),也提供了新的
補(bǔ)丁管理工具,例如:為了避免受到過多無用的信息,警告服務(wù)和信使服務(wù)都被
關(guān)閉。大多數(shù)情況下,關(guān)閉這些特性對于增強(qiáng)系統(tǒng)安全性是有好處的,不過很難
在安全性與軟件的功能性、靈活性之間作出折衷。
最顯著的表現(xiàn)是:微軟更加關(guān)注改進(jìn)可用性的同時增強(qiáng)系統(tǒng)的安全性。比如:200
3年許多針對微軟的漏洞攻擊程序都使用可執(zhí)行文件作為電子郵件的附件(例如My
Doom)。Service Pack2包括一個附件執(zhí)行服務(wù),為Outlook/Exchange、 Windows
Messenger和Internet Explorer提供了統(tǒng)一的環(huán)境。這樣就能降低用戶運(yùn)行可執(zhí)
行文件時感染病毒或者蠕蟲的威脅性。另外,禁止數(shù)據(jù)頁的可執(zhí)行性也會限制潛
在的緩沖區(qū)溢出的威脅。不過,微軟在WindowsXP Service Pack
2中并沒有修改Windows有問題的架構(gòu)以及安全傳輸?shù)牟糠?,而是將這部分重?fù)?dān)交
給了用戶。
微軟的重點顯然是支持應(yīng)用程序的安全性。WindowsXP Service Pack 2中增強(qiáng)的
許多方面都是以O(shè)utlook/Exchange和Internet
Explorer作為對象的。例如:Internet Explorer中有一個智能的MIME類型檢查,
會對目標(biāo)的內(nèi)容類型進(jìn)行檢查,用戶可以獲悉該內(nèi)容中是否存在潛在的有害程序
。不過這一軟件是不是能將病毒與同事的電子數(shù)據(jù)表區(qū)分開來呢?
WindowsXP Service Pack 2的另一個新特性是能夠卸載瀏覽器的多余插件,這需
要終端用戶檢查并判斷需要卸載哪些插件。Outlook/Exchange可以預(yù)覽電子郵件
消息,因此用戶可以在打開之前就將電子郵件刪除。另一個應(yīng)用安全的增強(qiáng),防
火墻在網(wǎng)絡(luò)協(xié)議棧之前啟動。對于軟件開發(fā)者來說,遠(yuǎn)方過程調(diào)用中權(quán)限的改變
,使得安全性差的代碼難以工作正常。
WindowsXP Service Pack 2也為Windows用戶提供了許多華麗的新特性,但是問題
仍然存在:這些特性會不會對管理員甚至是終端用戶造成負(fù)擔(dān)?是不是在增加了W
indows操作系統(tǒng)代碼安全性的同時讓系統(tǒng)變得更加復(fù)雜?
Linux 與 Windows 的不同
雖然有一些類似之處,但Windows和Linux的工作方式還是存在一些根本的區(qū)別。
這些區(qū)別只有在您對兩者都很熟悉以后才能體會到,但它們卻是 Linux 思想的核
心。
Linux 的應(yīng)用目標(biāo)是網(wǎng)絡(luò)而不是打印
Windows最初出現(xiàn)的時候,這個世界還是一個紙張的世界。Windows的偉大成就之
一在于您的工作成果可以方便地看到并打印出來。這樣一個開端影響了 Windows
的后期發(fā)展。
同樣,Linux 也受到了其起源的影響。Linux 的設(shè)計定位于網(wǎng)絡(luò)操作系統(tǒng)。它的
設(shè)計靈感來自于 Unix 操作系統(tǒng),因此它的命令的設(shè)計比較簡單,或者說是比較
簡潔。由于純文本可以非常好地跨網(wǎng)絡(luò)工作,所以 Linux 配置文件和數(shù)據(jù)都以文
本為基礎(chǔ)。
對那些熟悉圖形環(huán)境的人來說,Linux服務(wù)器初看可能比較原始。但是Linux開發(fā)
更多關(guān)注的是它的內(nèi)在功能而不是表面上的東西。即使是在純文本的環(huán)境中,Lin
ux同樣擁有非常網(wǎng)絡(luò)、腳本和安全能力。執(zhí)行一些任務(wù)所需的某些表面上
看起來比較奇怪的步驟是令人費(fèi)解的,除非您認(rèn)識到 Linux 是期望在網(wǎng)絡(luò)上與其
他 Linux系統(tǒng)協(xié)同執(zhí)行這些任務(wù)。Linux的自動執(zhí)行能力也很強(qiáng),只需要設(shè)計批處
理文件就可以讓系統(tǒng)自動完成非常詳細(xì)的任務(wù)。Linux 的這種能力來自于其基于
文本的本質(zhì)。
可選的 GUI
Linux有圖形組件。Linux支持高端的圖形適配器和顯示器,完全勝任圖形相關(guān)的
工作。現(xiàn)在,許多數(shù)字效果藝術(shù)家在Linux工作站上來進(jìn)行他們的設(shè)計工作,而以
前這些工作需要使用IRIX系統(tǒng)來完成。但是,圖形環(huán)境并沒有集成到 Linux 中,
而是運(yùn)行于系統(tǒng)之上的單獨一層。這意味著您可以只運(yùn)行 GUI,或者在需要時才
運(yùn)行 GUI。如果您的系統(tǒng)主要任務(wù)是提供Web應(yīng)用,那么您可以停掉圖形界面,而
將其所用的內(nèi)存和CPU資源用于您的服務(wù)。如果您需要在 GUI 環(huán)境下做一些工作
,可以再打開它,工作完成后再將其關(guān)閉。
Linux 有圖形化的管理工具,以及日常辦公的工具,比如電子郵件、網(wǎng)絡(luò)瀏覽器
和文檔處理工具等。不過,在 Linux 中,圖形化的管理工具通常是控制臺 (命令
行) 工具的擴(kuò)展。也就是說,用圖形化工具能完成的所有工作,用控制臺命令同
樣可以完成。同樣,使用圖形化工具并不妨礙您對配置文件進(jìn)行手工修改。其實
際意義可能并不是特別顯而易見,但是,如果在圖形化管理工具中所做的任何工
作都可以以命令行的方式完成,這就表示那些工作也可以由一個腳本來實現(xiàn)。腳
本化的命令可以成為自動執(zhí)行的任務(wù)。Linux 同時支持這兩種方式,并不要求您
只用文本或者只用 GUI。您可以根據(jù)您的需要選擇更好的方法。
Linux 中的配置文件是人類可讀的文本文件,這與過去的 Windows 中的 INI 文
件類似,但與 Windows 的注冊表機(jī)制在思路上有本質(zhì)的區(qū)別。每一個應(yīng)用程序都
有其自己的配置文件,而且通常不與其他的配置文件放在一起。不過,大部分的
配置文件都存放于一個目錄樹 (/etc) 下的單個地方,所以看起來它們在邏輯上
是在一起。文本文件的配置方式使得不通過特殊的系統(tǒng)工具就可以完成配置文件
的備份、檢查和編輯工作。
文件名擴(kuò)展
Linux不使用文件名擴(kuò)展來識別文件的類型。相反,Linux根據(jù)文件的頭內(nèi)容來識
別其類型。為了提高人類可讀性您仍可以使用文件名擴(kuò)展,但這對 Linux 系統(tǒng)來
說沒有任何作用。不過,有一些應(yīng)用程序,比如 Web 服務(wù)器,可能使用命名約定
來識別文件類型,但這只是特定的應(yīng)用程序的要求而不是 Linux 系統(tǒng)本身的要求
。
Linux通過文件訪問權(quán)限來判斷文件是否為可執(zhí)行文件。任何一個文件都可以賦予
可執(zhí)行權(quán)限,這樣程序和腳本的創(chuàng)建者或管理員可以將它們識別為可執(zhí)行文件。
這樣做有利于安全。保存到系統(tǒng)上的可執(zhí)行的文件不能自動執(zhí)行,這樣就可以防
止許多腳本病毒。
重新引導(dǎo)是最后的手段
如果您使用Windows已經(jīng)很長時間了,您可能已經(jīng)習(xí)慣出于各種原因(從軟件安裝
到糾正服務(wù)故障)而重新引導(dǎo)系統(tǒng)。在Linux思想中您的這一習(xí)慣需要改變。Linu
x在本質(zhì)上更遵循“牛頓運(yùn)動定律”。一旦開始運(yùn)行,它將保持運(yùn)行狀態(tài),直到受
到外來因素的影響,比如硬件的故障。實際上,Linux系統(tǒng)的設(shè)計使得應(yīng)用程序不
會導(dǎo)致內(nèi)核的崩潰,因此不必經(jīng)常重新引導(dǎo)(與Windows系統(tǒng)的設(shè)計相對而言)。
所以除了Linux內(nèi)核之外,其他軟件的安裝、啟動、停止和重新配置都不用重新引
導(dǎo)系統(tǒng)。
如果您確實重新引導(dǎo)了 Linux 系統(tǒng),問題很可能得不到解決,而且還會使問題更
加惡化。學(xué)習(xí)并掌握 Linux 服務(wù)和運(yùn)行級別是成功解決問題的關(guān)鍵。學(xué)習(xí) Linux
最困難的就是克服重新引導(dǎo)系統(tǒng)的習(xí)慣。
另外,您可以遠(yuǎn)程地完成Linux中的很多工作。只要有一些基本的網(wǎng)絡(luò)服務(wù)在運(yùn)行
,您就可以進(jìn)入到那個系統(tǒng)。而且,如果系統(tǒng)中一個特定的服務(wù)出現(xiàn)了問題,您
可以在進(jìn)行故障診斷的同時讓其他服務(wù)繼續(xù)運(yùn)行。當(dāng)您在一個系統(tǒng)上同時運(yùn)行多
個服務(wù)的時候,這種管理方式非常重要。
命令區(qū)分大小寫
所有的 Linux 命令和選項都區(qū)分大小寫。例如, -R 與 -r 不同,會去做不同的
事情??刂婆_命令幾乎都是小寫的。我們將在“ 第 2 部分. 控制臺速成班”中
對命令進(jìn)行更詳細(xì)的介紹。
優(yōu)點:
Linux系統(tǒng)是開源系統(tǒng),受到所有開發(fā)者的共同監(jiān)督,已經(jīng)察銷局是非常成熟的服務(wù)器系統(tǒng),并且擁有著一套完整的權(quán)限機(jī)制,安全性與穩(wěn)定性都很高。
2.應(yīng)用:Linux系統(tǒng)適用于中、高檔服務(wù)器中。
3.Linux速度斗空比較快,安全性比windows好
缺點:
1.Linux系統(tǒng)操作需要一定時間的學(xué)習(xí)。
2.有很多軟件只能在windows里運(yùn)行,與Linux兼容的軟件正在開發(fā)中.
3.Linux的操作比較復(fù)雜,windows的比較簡單
更多敗讓Linux知識可參考書籍《Linux就該這么學(xué)》。
野晌Linux的操作比較bai復(fù)雜,windows的比較簡單.
Linux速度比較快,安全性比windows好
但是有du很多軟件只能在windows里運(yùn)zhi行
與Linux兼容的軟件正在開發(fā)中.
Linux適用在網(wǎng)絡(luò)方面.
Linux的操作比較復(fù)雜,windows的比較隱歲簡單. Linux命令用的比較灶脊睜多,建議看下“Linux命令大全”
Linux與Windows的安全性比較
安全問題對于it管理員來說是需要長期關(guān)注的。主管們需要一套框架來對操作系統(tǒng)的安全性進(jìn)行合理的評估,包括:基本安全、網(wǎng)絡(luò)安全和協(xié)議,應(yīng)用協(xié)議、發(fā)布與操作、確信度、可信計算、開放標(biāo)準(zhǔn)。在本文中,我們將按照這七個類別比較微軟windows和linux的安全性。最終的定性結(jié)論是:目前為止,linux提供了相對于windows更好的安全性能,只有一個方面例外(確信度)。 無論按照什么標(biāo)準(zhǔn)對windows和linux進(jìn)行評估,都存在一定的問題:每個操作系統(tǒng)都不止一個版本。微軟的操作系統(tǒng)有windows98、windows nt、 windows 2023、 windows 2023 server和windows ce,而linux的發(fā)行版由于內(nèi)核(基于2.2、2.4、2.6)的不同和軟件包的不同也有較大的差異。我們本文所使用的操作系統(tǒng),都是目前的技術(shù)而不是那些”古老”的解決方案。
用戶需要記?。簂inux和windows在設(shè)計上就存在哲學(xué)性的區(qū)別。windows操作系統(tǒng)傾向于將更多的功能集成到操作系統(tǒng)內(nèi)部,并將程序與內(nèi)核相結(jié)合;而linux不同于windows,它的內(nèi)核空間與用戶空間有明顯的界限。根據(jù)設(shè)計架構(gòu)的不同,兩者都可以使操作系統(tǒng)更加安全。
linux和windows安全性的基本改變
對于用戶來說,linux和windows的不斷更新引發(fā)了兩者之間的競爭。用戶可以有自己喜歡的系統(tǒng),同時也在關(guān)注競爭的發(fā)展。微軟的主動性似乎更高一些――這是由于業(yè)界”冷嘲熱諷”的”激勵”與linux的不斷發(fā)展。微軟將在下幾個月對windows安全進(jìn)行改觀,屆時微軟會發(fā)布windows xp的service pack2。這一服務(wù)包增強(qiáng)了windows的安全性,關(guān)閉了原先默認(rèn)開放的許多服務(wù),也提供了新的補(bǔ)丁管理工具,例如:為了避免受到過多無用的信息,警告服務(wù)和信使服務(wù)都被關(guān)閉。大多數(shù)情況下,關(guān)閉這些特性對于增強(qiáng)系統(tǒng)安全性是有好處的,不過很難在安全性與軟件的功能性、靈活性之間作出折衷。
最顯著的表現(xiàn)是:微軟更加關(guān)注改進(jìn)可用性的同時增強(qiáng)系統(tǒng)的安全性。比如:2023年許多針對微軟的漏洞攻擊程序都使用可執(zhí)行文件作為電子郵件的附件(例如mydoom)。service pack2包括一個附件執(zhí)行服務(wù),為outlook/exchange、 windows messenger和internet explorer提供了統(tǒng)一的環(huán)境。這樣就能降低用戶運(yùn)行可執(zhí)行文件時感染病毒或者蠕蟲的威脅性。另外,禁止數(shù)據(jù)頁的可執(zhí)行性也會限制潛在的緩沖區(qū)溢出的威脅。不過,微軟在service pack2中并沒有修改windows有問題的架構(gòu)以及安全傳輸?shù)牟糠?,而是將這部分重?fù)?dān)交給了用戶。
微軟的重敏慧知點顯然是支持應(yīng)用程序的安全性。service pack2中增強(qiáng)的許多方面都是以outlook/exchange和internet explorer作為對象的。例如:internet explorer中有一個智能的mime類型檢查,會對目橋消標(biāo)的內(nèi)容類型進(jìn)行檢查,用戶可以獲悉該內(nèi)容中是否存在潛在的有害程序。不過這一軟件是不是能將病毒與同事的電子數(shù)據(jù)表區(qū)分開來呢?
service pack2的另一個新特性是能夠卸載碧襲瀏覽器的多余插件,這需要終端用戶檢查并判斷需要卸載哪些插件。outlook/exchange可以預(yù)覽電子郵件消息,因此用戶可以在打開之前就將電子郵件刪除。另一個應(yīng)用安全的增強(qiáng),防火墻在網(wǎng)絡(luò)協(xié)議棧之前啟動。對于軟件開發(fā)者來說,遠(yuǎn)方過程調(diào)用中權(quán)限的改變,使得安全性差的代碼難以工作正常。
service pack2也為windows用戶提供了許多華麗的新特性,但是問題仍然存在:這些特性會不會對管理員甚至是終端用戶造成負(fù)擔(dān)?是不是在增加了windows操作系統(tǒng)代碼安全性的同時讓系統(tǒng)變得更加復(fù)雜?
開放源代碼、共享源代碼
微軟的共享源代碼計劃政策屬于”可看但不可修改”,例外的情況是windows ce共享源代碼許可證計劃。對于公司來說,可以將基于windows ce的設(shè)備和解決方案推向市場。這是微軟共享源代碼計劃下,源設(shè)備制造商(oem)、半導(dǎo)體提供商、系統(tǒng)集成商可以完全訪問windows ce源代碼的唯一項目。所有許可證持有者都有對源代碼的完全訪問權(quán),當(dāng)然可以修改代碼,但只有oem才能發(fā)布對基于wince設(shè)備的修改。所有其他的共享源代碼許可證持有者,如果要訪問該項目不允許的源代碼,需要向redmond.wash的微軟總部請示。
某些用戶認(rèn)為共享源代碼計劃對于調(diào)試程序會有幫助,微軟要求編譯的時候必須在微軟總部,這不得不說是一個很大的限制。盡管微軟想盡力增加透明,如果無法編譯,就很難確定源代碼在真實的it環(huán)境中是否能正常工作。限制用戶修改并編譯windows的源代碼,降低了人們訪問windows共享源代碼并尋找安全漏洞的熱情。
數(shù)據(jù)中心和桌面下linux的安全收益
在未來的12個月里,linux將加強(qiáng)在數(shù)據(jù)中心的份額,并試圖沖擊微軟在桌面上的壟斷。這很大程度上是受益于linux2.6版內(nèi)核的新特性與新功能。有了linux v2.6,安全框架現(xiàn)在已經(jīng)模塊化了。在這種模型下,linux內(nèi)核的所有方面都提供了細(xì)粒度的用戶訪問控制,而以前的版本的內(nèi)核允許超級用戶完全控制?,F(xiàn)在的實現(xiàn)仍然支持root完全訪問系統(tǒng),但完全可以創(chuàng)建一個不遵循該模型的liinux系統(tǒng)。
linux v2.6內(nèi)核的一個主要變化,就是新增的linux安全模塊(l),用戶不需要打內(nèi)核補(bǔ)丁就能為linux增加更多的安全機(jī)制。新版內(nèi)核,在l上建立了多個訪問控制機(jī)制,其中包括美國國安局(nsa)的securiy enhanced linux(selinux)。由于國安局對操作系統(tǒng)安全與強(qiáng)制訪問控制的興趣,產(chǎn)生了selinux。國安局的研究人員正在開發(fā)linux的安全模塊,可以支持2.6內(nèi)核的類型加強(qiáng)、基于腳色的訪問控制、多層次安全。selinux使用了命為”域類型強(qiáng)制”的安全模型,可以將應(yīng)用程序互相隔離,同時也與基本的操作系統(tǒng)隔離,從而限制入侵后程序或者網(wǎng)絡(luò)服務(wù)造成的影響。
linux的2.6內(nèi)核中已經(jīng)加入了對selinux的細(xì)粒度布爾值標(biāo)簽的支持,其他的廠商也開始利用國安局的selinux。例如,immunix提供了一些列產(chǎn)品,包括stackguard和子域stackguard模塊,可以配置進(jìn)程只使用某些系統(tǒng)調(diào)用。redhat聲稱selinux將在redhat企業(yè)服務(wù)器4.0的安全架構(gòu)上起重要的作用。
今天,linux的內(nèi)核中已經(jīng)有一個功能強(qiáng)大、靈活的強(qiáng)制訪問控制子系統(tǒng)。這個系統(tǒng)強(qiáng)制隔離有機(jī)密和完整性要求的數(shù)據(jù),因此任何潛在的破壞,即時是由超級用戶進(jìn)程所造成的,都被linux系統(tǒng)限制起來了。
linux v2.6還提供了對加密安全的支持,包括了ipsec使用的加密api。這樣,在網(wǎng)絡(luò)和存儲加密時就可以使用多種算法(例如:sha-1、des、三重des、md4、hmac、ede、和blowfish)。linux對ipsec ipv4和ipv6協(xié)議的支持是一個很大的進(jìn)步。由于安全抽象到了協(xié)議層,用戶程序?qū)撛诠舫绦虻拇嗳跣杂兴档?。密碼加密模塊目前還不是linux內(nèi)核的一部分,如果linux真的實現(xiàn)了這樣的特性,就可以阻止未簽名的模塊被內(nèi)核訪問。
現(xiàn)在仍然困擾windows用戶的一個問題就是緩沖區(qū)溢出。linux用戶從2.6內(nèi)核開始就會收益于exec-shield補(bǔ)丁。exec-shield可以阻止許多漏洞攻擊程序覆蓋數(shù)據(jù)結(jié)構(gòu)并向這些結(jié)構(gòu)中插入代碼的企圖。由于不需要重新編譯應(yīng)用程序就能使exec-shield補(bǔ)丁奏效,實現(xiàn)起來很方便。
另外,2.6內(nèi)核中的搶占式內(nèi)核,也減少了延遲,使得linux不但可以應(yīng)用到數(shù)據(jù)中心,甚至可以在有軟實時要求的應(yīng)用程序使用。許多l(xiāng)inux用戶使用的是硬件廠商和系統(tǒng)提供商的不開源的驅(qū)動程序(二進(jìn)制模塊)。問題在于:雖然添加這些驅(qū)動和模塊有用,對于linux系統(tǒng)并不一定有益。例如,一個未開源的驅(qū)動模塊有可能控制系統(tǒng)調(diào)用并修改系統(tǒng)調(diào)用表。2.6的內(nèi)核提供了特殊的保護(hù)措施,可以對限制未開源驅(qū)動或者模塊對內(nèi)核的訪問。這一特性增加了穩(wěn)定性,但從安全角度并沒有增加新的限制,也不能阻止黑客編寫惡意模塊。
許多l(xiāng)inux用戶來說,最有創(chuàng)造性的特性就是用戶模式linux了(uml),uml是linux內(nèi)核的一個補(bǔ)丁,可以允許可執(zhí)行二進(jìn)制文件在linux宿主主機(jī)上編譯并運(yùn)行。使用uml有很多好處,最有用的特性就是虛擬機(jī)。由于對uml的操作不會影響宿主主機(jī),可以把它作為測試軟件、運(yùn)行不穩(wěn)定發(fā)行版、檢查有威脅活動的平臺。uml最終會創(chuàng)建一個安全架構(gòu)上完全虛擬的環(huán)境。
linux與windows安全性能的重要結(jié)論
對操作系統(tǒng)的安全性進(jìn)行定性分析,很容易包含主觀意見,得到的結(jié)論會由于過去和現(xiàn)在的經(jīng)驗而有很大的不同。本文的目標(biāo)是給用戶提供一個框架,讓他們更多的理解windows和linux的安全性能。下面的分析并不全面,只是終端用戶進(jìn)行評估的起點。linux和windows在技術(shù)上不斷進(jìn)步,究竟哪個系統(tǒng)更安全的結(jié)論也會不斷變化。本文分析的結(jié)果:linux提供了比windows更好的安全特性。
基本安全
微軟和linux都提供了對驗證、訪問控制、記帳/日至、受控的訪問保護(hù)實體、加密的支持。不過linux的表現(xiàn)更好一些,因為linux還提供了linux安全模塊、selinux和winbind。linux用戶不需對內(nèi)核打補(bǔ)丁就能增加額外的安全機(jī)制。
linux在l之上構(gòu)建了多種訪問控制機(jī)制,例如:為應(yīng)用程序建立了單獨的空間,使它們之間相互分離,也與基本的操作系統(tǒng)隔離,這樣即使應(yīng)用程序出現(xiàn)了安全問題也不會影響操作系統(tǒng)。linux的基本安全也可以通過應(yīng)用程序增強(qiáng),比如tripwire(可以定期對系統(tǒng)進(jìn)行關(guān)鍵文件的完整性檢查,如果文件的內(nèi)容或者屬性有變化就通知系統(tǒng)管理員)。
windows的限制在于基本安全是依靠mscapi的,在代碼簽名時信任多個密鑰。微軟的模型重點在于可以同時對一個產(chǎn)品使用弱加密或者強(qiáng)加密。盡管模塊不是以相同的密鑰進(jìn)行簽名,mscapi卻信任許多根驗證機(jī)構(gòu),代碼簽名也信任多個密鑰。因此只要有一個密鑰被泄露就會使整個系統(tǒng)異常脆弱。密鑰泄漏的情況:授權(quán)的代碼簽名者不小心紕漏了自己的私鑰,或者簽名機(jī)構(gòu)錯誤的簽發(fā)了一個證書。這些情況曾經(jīng)發(fā)生,有一次verisign錯誤的以微軟的名義簽發(fā)了兩個證書,并將這些證書的控制權(quán)交給了未授權(quán)的個人。
網(wǎng)絡(luò)安全與協(xié)議
linux與windows對網(wǎng)絡(luò)安全和協(xié)議的支持都很不錯。兩者都支持ipsec,這是一個運(yùn)行于ip層的開放的基于加密的保護(hù)方式。ipsec能夠識別終端主機(jī),同時能夠?qū)W(wǎng)絡(luò)傳輸數(shù)據(jù)和加密數(shù)據(jù)的過程中的修改作出判斷。linux下使用openssh、openssl和openldap,分別對應(yīng)微軟系統(tǒng)下閉合源碼的ssh、ssl和ldap。
應(yīng)用安全
由于微軟iis和exchange/outlook不斷出現(xiàn)的安全問題,linux顯得更勝一籌。apache和postfix都是跨平臺的應(yīng)用程序,比微軟的相應(yīng)產(chǎn)品更加安全。由于linux有內(nèi)建的防火墻使得其安全性有所增強(qiáng),snort也是一個優(yōu)秀的入侵檢測系統(tǒng)。關(guān)于基于x86系統(tǒng)的linux內(nèi)核,一個很重要的特性就是ingomolnar的exec-shield,可以保護(hù)系統(tǒng)不受緩沖區(qū)或者函數(shù)指針溢出的攻擊,從而對那些通過覆蓋數(shù)據(jù)結(jié)果或者插入代碼的攻擊程序有所防護(hù)。exec-shield補(bǔ)丁使攻擊者很難實現(xiàn)基于shell-code的攻擊程序,因為exec-shield的實現(xiàn)對于應(yīng)用程序是透明的,因此不需要應(yīng)用程序的重新編譯。
微軟正在大刀闊斧的重新設(shè)計產(chǎn)品的安全架構(gòu),并為已安裝的系統(tǒng)提供補(bǔ)丁。不過舊版本的windows產(chǎn)品仍然存在安全問題,這使得任務(wù)變得復(fù)雜。許多微軟用戶正面臨安全威脅,而補(bǔ)丁在發(fā)布之前必須做好文檔。另外,微軟傾向于將應(yīng)用程序的數(shù)據(jù)和程序代碼混合在一起,比如activex,這使得系統(tǒng)外的不可信數(shù)據(jù)也能被使用,甚至是利用不可信數(shù)據(jù)執(zhí)行任意代碼。某些情況下,windows甚至允許外部系統(tǒng)提供數(shù)據(jù)簽名的代碼,這就意味著本地的系統(tǒng)管理員也不能審查代碼,不過他仍然知道是誰對代碼簽的名。
在.net框架下,微軟應(yīng)用程序的安全性有所改進(jìn)。當(dāng)然,對于那些異構(gòu)平臺,例如linux、windows、unix尤其是建立在java平臺下的應(yīng)用程序,微軟的產(chǎn)品是有很大局限性的。
分發(fā)和操作
關(guān)于分發(fā)和操作,linux與微軟的側(cè)重點不同,linux下大部分的管理都通過命令行接口。linux的發(fā)行商也提供了各種安裝和配置工具,例如:up2date、yast2和webmin。bastille linux是一個支持red hat、debian、mandrake、suse和turbolinux的加固工具。相比之下,windows的系統(tǒng)管理員使用簡單易用的gui工具,配置的時候也很容易出錯誤。盡管一些人認(rèn)為,一個周之內(nèi)將任何人都可能成為windows的系統(tǒng)管理員,問題是他們到底對管理了解多少?微軟的安全問題,絕大多數(shù)都是由于發(fā)布與操作時的拙劣配置。windows自帶安裝和配置工具,微軟也為加固域控制器、架構(gòu)服務(wù)器、文件服務(wù)器、打印服務(wù)器、ias服務(wù)器、證書服務(wù)器和堡壘主機(jī)提供了向?qū)?,不過加固架構(gòu)與加固操作系統(tǒng)還是有區(qū)別的。
確信度
定義操作系統(tǒng)確信度的標(biāo)準(zhǔn)是公共標(biāo)準(zhǔn)(cc),這是iso標(biāo)準(zhǔn)(iso 15408)。關(guān)于確信度的等級有一個層次結(jié)構(gòu) ―― 從eal1到eal7。只有在特定的軟件、硬件和系統(tǒng)配置下,公共標(biāo)準(zhǔn)的評估才是有效的。windows的eal比linux要高,達(dá)到了eal4,而linux目前只達(dá)到了eal3。suse正計劃在年底達(dá)到eal4。機(jī)構(gòu)大部分都需要cc的確信度。即使只有客戶(甚至特指美國國防部)才需要確信度,商業(yè)產(chǎn)品滿足這一要求也是一件好事。不過大部分的用戶都不需要達(dá)到國防部的標(biāo)準(zhǔn)。
可信計算
可信計算是一種架構(gòu),可以避免對應(yīng)用程序的修改,與廠商的通信也是安全的。許多廠商,比如intel、微軟和ibm,都在歡迎這項新興的技術(shù)。目前,這一功能只供展示,現(xiàn)實中并沒有可用的系統(tǒng),因此linux和windows都不能勝任。微軟的可信計算與數(shù)字權(quán)力管理有關(guān),而開源社區(qū)目前沒有可信計算的項目。
開放標(biāo)準(zhǔn)
linux要優(yōu)于windows,因為它支持所有的開放標(biāo)準(zhǔn)(盡管windows也支持許多相同的開放便準(zhǔn),如ipsec、ike和ipv6,也樂意擴(kuò)展標(biāo)準(zhǔn))。對于使用異構(gòu)系統(tǒng)并有互操作需求的公司,”標(biāo)準(zhǔn)”如果代有私有代碼,就使得對缺陷的檢測和錯誤的修正更困難、耗費(fèi)的時間也更多。一個例子就是微軟對kerberos標(biāo)準(zhǔn)協(xié)議的擴(kuò)展。微軟提供了對kerberos票據(jù)的授權(quán)功能,盡管kerberos一開始也是按照這個目的設(shè)計的,這一功能卻一直沒有使用。微軟擴(kuò)展了kerberos標(biāo)準(zhǔn),在處理過程中也期望其它程序共享票據(jù)的授權(quán)數(shù)據(jù)字段。因此,微軟的kerberos版本與標(biāo)準(zhǔn)不能完全交互。it經(jīng)理會發(fā)現(xiàn):在一個異構(gòu)的it環(huán)境中,使用微軟kerberos會使得整個環(huán)境難以管理,它們需要完全的windows it架構(gòu)。
開源
如果安全操作系統(tǒng)的標(biāo)準(zhǔn)就是開源,那么linux顯然要優(yōu)于windows。微軟的共享源代碼計劃就是為了滿足用戶對源代碼的需要。不過,該計劃的大部分內(nèi)容都是”可看但不可修改”的情況。俄羅斯、英國、中國和北約參與了微軟的安全計劃。盡管該計劃的目標(biāo)是增加透明度和加強(qiáng)合作,如果某組織需要訪問微軟的源代碼,需要遵守各種各樣的要求。例如:并不是所有的windows源代碼都可以在線查看,因此如果用戶需要編譯并測試應(yīng)用程序,必須親自訪問微軟的總部。
推薦
linux和windows的安全性必定會引起持續(xù)的爭論,到底是開源的操作系統(tǒng)好,還是封閉源代碼的操作系統(tǒng)好?業(yè)界的邏輯是:基于開放標(biāo)準(zhǔn)與開放源代碼的操作系統(tǒng),能提供更好的互用性,更好的錯誤發(fā)現(xiàn)和修正機(jī)制,這要比通過隱藏來達(dá)到安全的模型優(yōu)秀。開源也促使linux的發(fā)行提供商對生產(chǎn)過程完全透明。每一步對于用戶來說都是可再現(xiàn)的,因此能夠逐漸的增強(qiáng)安全。而windows的源代碼并不易獲得,因此不能提供等價的透明。
linux提供了至少不遜于windows的安全性能。linux系統(tǒng)的安全取決于對linux發(fā)行版的選擇、使用的內(nèi)核版本、實現(xiàn)與支持系統(tǒng)的it員工的水平。一旦你選定了產(chǎn)品,實現(xiàn)并維護(hù)操作系統(tǒng)的安全就完全依靠it員工了,你需要對他們進(jìn)行培訓(xùn),讓他們掌握足夠的專業(yè)技能,完成分發(fā)、管理和故障排除的任務(wù)。要讓it經(jīng)理和系統(tǒng)管理員明白如何應(yīng)用這些慣例。
我們推薦各種機(jī)構(gòu)首先了解自己的功能需要,然后熟悉一下操作系統(tǒng)關(guān)鍵性的安全性能,這樣就能減少使用操作系統(tǒng)的風(fēng)險,確保一致性。
如果你正考慮移植到另一個操作系統(tǒng)或者是升級目前的產(chǎn)品,你需要按照安全性能的要求來選擇操作系統(tǒng)的環(huán)境。把你的商業(yè)需要與對操作系統(tǒng)安全性的理解相結(jié)合,就能在實現(xiàn)功能的同時,兼顧一致性與風(fēng)險最小化。
表一:linux和windows操作系統(tǒng)重要的安全特性
分類
特性
linux
windows
定性得分
基本安全
驗證、訪問控制加密、記帳/日至
可插入的認(rèn)證模塊、插件模塊、kerberos、pki、winbind、 acls、 l、selinux、 受控的訪問保護(hù)實體檢測、內(nèi)核加密
kerberos、pki、 訪問控制列表、受控的訪問保護(hù)實體檢測、微軟的應(yīng)用程序加密程序接口。
linux 更加出色
網(wǎng)絡(luò)安全與協(xié)議
驗證、層、網(wǎng)絡(luò)層
openssl、open ssh、openldap、 ipsec
ssl、 ssh、 ldap、 ad、 ipsec
兩者都很不錯
應(yīng)用安全
防病毒、 防火墻、 入侵檢測軟件、 web服務(wù)器、 email、 智能卡支持
openav、 panda、 trendmicro、 內(nèi)核內(nèi)建的防火墻功能、 snort、 apache、 sendmail、 postfix、 pkcs 11、 exec-shield
mcafee、 symantec、 check point、 iis、 exchange/outlook、 pcks 11
linux略勝一籌
分發(fā)與操作
安裝、 配置、 加固、 管理、 漏洞掃描器
安裝與配置工具、 bastille、大部分的管理通過命令行完成、 nessus、 發(fā)行版相關(guān)的up2date、 yast、 webmin
windows自帶的安裝和配置工具、沒有特定的加固工具、 管理gui、 使用默認(rèn)安裝的配置。
兩者都很不錯
確信度
常見的公共標(biāo)準(zhǔn)證書、 缺陷處理
linux達(dá)到了 eal3,有較好的缺陷處理能力
windows 達(dá)到了 eal4,有較好的缺陷處理能力
windows更加出色
可信計算
可信平臺的模塊、可信計算軟件棧、工具、驗證
由ibm開發(fā)的基于可信平臺模塊的開源驅(qū)動程序、可信計算組的軟件棧可望在2023年推出
下一代安全計算基礎(chǔ)、有可能在2023年的longhorn中出現(xiàn)。
兩者都不夠出色
開放標(biāo)準(zhǔn)
ipsec、 posix、 傳輸層安全、 常見標(biāo)準(zhǔn)
linux 遵循所有的開放標(biāo)準(zhǔn)
microsoft也參與了開放標(biāo)準(zhǔn),但仍有一些私有標(biāo)準(zhǔn)。
linux更加出色
linux 條件競爭的介紹就聊到這里吧,感謝你花時間閱讀本站內(nèi)容,更多關(guān)于linux 條件競爭,深入理解Linux條件競爭問題,提高程序穩(wěn)定性,linux系統(tǒng)和 windows系統(tǒng)相比,有什么優(yōu)勢和不足?,Linux與Windows的安全性比較的信息別忘了在本站進(jìn)行查找喔。
創(chuàng)新互聯(lián)服務(wù)器托管擁有成都T3+級標(biāo)準(zhǔn)機(jī)房資源,具備完善的安防設(shè)施、三線及BGP網(wǎng)絡(luò)接入帶寬達(dá)10T,機(jī)柜接入千兆交換機(jī),能夠有效保證服務(wù)器托管業(yè)務(wù)安全、可靠、穩(wěn)定、高效運(yùn)行;創(chuàng)新互聯(lián)專注于成都服務(wù)器托管租用十余年,得到成都等地區(qū)行業(yè)客戶的一致認(rèn)可。
網(wǎng)站名稱:深入理解Linux條件競爭問題,提高程序穩(wěn)定性(linux條件競爭)
文章來源:http://m.5511xx.com/article/dhsioig.html


咨詢
建站咨詢
