

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p><b> 畢業(yè)設計(論文)</b></p><p> 題 目: 淺談linux操作系統(tǒng)的安全 </p><p> 姓 名 </p><p> 學 號 </p><p> 專 業(yè)
2、 </p><p> 系 部 </p><p> 指導教師 </p><p><b> 目 錄</b></p><p> 第一章 Linux操作系統(tǒng)概述1</p><p>
3、1.1 Linux發(fā)展歷史1</p><p> 1.1.1 Linux的誕生和發(fā)展2</p><p> 1.1.2 Linux名稱的由來2</p><p> 1.2 Linux的發(fā)展要素3</p><p> 1.2.1 UNIX操作系統(tǒng)3</p><p> 1.2.2 Minix操作系統(tǒng)4
4、</p><p> 1.2.3 POSIX 標準4</p><p> 1.3 操作系統(tǒng)類型選擇和內核版本的選擇4</p><p> 1.3.1 常見的不同公司發(fā)行的Linux異同5</p><p> 1.3.2內核版本的選擇9</p><p> 1.4 Linux的系統(tǒng)架構10</p&g
5、t;<p> 1.4.1 Linux內核的主要模塊10</p><p> 1.4.2 Linux的文件結構12</p><p> 1.5 GNU通用公共許可證13</p><p> 第二章 Linux與其他操作系統(tǒng)的比較15</p><p> 2.1 Linux與UNIX的異同15</p>
6、<p> 2.2 Linux和Windows的區(qū)別以及安全性的比較16</p><p> 2.3 Linux與其他操作系統(tǒng)的區(qū)別18</p><p> 2.4 Linux與其他系統(tǒng)的總體比較總結119</p><p> 2.5 Linux與Windows根本比較—內核21</p><p> 2.6 L
7、inux的特性 23</p><p> 2.7 Linux與其他操作系統(tǒng)的區(qū)別25</p><p> 第三章 Linux的安全性能分析以及增強27</p><p> 3.1 嵌入式Linux 的特點27</p><p> 3.2 嵌入式Linux 現(xiàn)有安全機制及分析29</p><p> 3.
8、3 嵌入式Linux 安全缺陷31</p><p><b> 3.4 小結33</b></p><p><b> 結束語34</b></p><p><b> 參考文獻37</b></p><p><b> 附錄38</b></p&
9、gt;<p> 第一章 Linux操作系統(tǒng)概述</p><p> Linux系統(tǒng)是一個類似UNIX的操作系統(tǒng),Linux系統(tǒng)是UNIX在微機上的完整實現(xiàn)。UNIX操作系統(tǒng)是1969年由Ken Thompson 和Dennis Ritchie在美國貝爾實驗室開發(fā)的一種操作系統(tǒng)。由于其良好而穩(wěn)定的性能迅速在計算機中得到廣泛的應用,在隨后幾十年中也有了不斷的改進。 本章對Linux的發(fā)展進行介紹,主
10、要包括如下內容:</p><p> ?。?)Linux發(fā)展的歷史,以時間為主線對Linux的誕生進行介紹;</p><p> ?。?)分析Linux和UNIX操作系統(tǒng)的異同;</p><p> ?。?)介紹常用的幾種Linux發(fā)行版本的特點;</p><p> ?。?)對Linux操作系統(tǒng)的系統(tǒng)架構進行簡單的介紹;</p>&l
11、t;p> ?。?)介紹GNU通用公共許可證及其特點。</p><p> 1.1 Linux發(fā)展歷史</p><p> 1991年10月5日,赫 爾 辛 基大學的一名研究生Linus Benedict Torvalds(李納斯·托沃茲 )在一個Usenet新聞組(comp.os.minix)中宣布他編制出了一種類似UNIX的小操作系統(tǒng),叫Linux。新的操作系統(tǒng)是受到另一
12、個UNIX的小操作系統(tǒng)——Minix的啟發(fā),該系統(tǒng)是由一名叫Andrew S Tanenbaum的教師開發(fā)的。讀者也許猜想所發(fā)布的這個系統(tǒng)應該是Linux的0.01版本,實際上不是這樣。真正的Linux 0.01版本并沒有被發(fā)布,原因是0.01版本不實用。Linus僅僅在第一個Linux的FTP站點(ftp://nic.funet.fi)上提供過這個版本的的源代碼。</p><p> Torvalds于10月5
13、日發(fā)布的這個Linux版本被稱為0.02版,它能夠運行GNU (通用公共許可證) Bourne Again Shell(bash)和GNU的C編譯程序(gcc)以及為數(shù)不多的其它語言。Torvalds絕對沒有想到他設想的一種能夠針對高級業(yè)余愛好者和黑客們的操作系統(tǒng)已經產生,這就是人們所稱的Linux。李納斯·托沃茲因此被稱為開源之父;</p><p> Linux發(fā)布時的版本是0.02,后來又有0.0
14、3版,然后又跳到0.10版。因為世界各地越來越多的程序員都開始開發(fā)Linux,它已經達到0.95版。這就意味著正式公布1.0版本的時間已經為期不遠了。正式的1.0版本是在1994年公布的 </p><p> 1.1.1 Linux的誕生和發(fā)展</p><p> Linux和UNIX有密切的聯(lián)系。UNIX能成為世界范圍內最有影響的操作系統(tǒng)之一,是由于它有龐大的支持基礎和發(fā)行系統(tǒng)。當初U
15、NIX是作為小型機和大型機上的多任務操作系統(tǒng)而開發(fā)的,很快就發(fā)展成為廣泛使用的操作系統(tǒng)。</p><p> 從個人計算機到超級計算機系統(tǒng),都有各種UNIX版本。但這些版本都很昂貴,而且源代碼是有專利的,所以很難在計算機愛好者中廣泛使用。然而,UNIX又正是他們所想要的操作系統(tǒng)。于是,出現(xiàn)了一支由編程高手、業(yè)余計算機玩家、黑客們組成的“高手集團軍”,他們獨立地開發(fā)出在功能上毫不遜色于UNIX操作系統(tǒng)的全新的、免費
16、的Linux系統(tǒng)。</p><p> Linux系統(tǒng)是由芬蘭赫爾辛基大學的Linux Torvalds先生于1991年開始開發(fā)的,Linux系統(tǒng)的開發(fā)得到了全世界的UNIX程序員和愛好者的幫助。他們借助Internet參與Linux系統(tǒng)的開發(fā)。Linux系統(tǒng)的核心部分是全新的代碼,沒有使用有專利的代碼。</p><p> 在操作系統(tǒng)的發(fā)展受到版權限制的時候,出現(xiàn)了Minix操作系統(tǒng),
17、這個操作系統(tǒng)由一本書來詳細的描述它的實現(xiàn)原理。由于書中對Minux操作系統(tǒng)的描述非常詳細、并且很有條理性,當時幾乎全世界的計算機愛好者都在看這本書來理解操作系統(tǒng)的原理,其中包括Linux系統(tǒng)的創(chuàng)始者Linus Torvalds。</p><p> 1.1.2 Linux名稱的由來</p><p> Linux 操作系統(tǒng)剛開始時并沒有被稱作Linux,Linus 給他的操作系統(tǒng)取名為F
18、REAX,其英文含義是怪誕的、怪物、異想天開等意思。在他將新的操作系統(tǒng)上載到ftp,funet。fi服務器上時,管理員Ari Lemke很不喜歡這個名稱。他認為既然是Linus 的操作系統(tǒng)就取其諧音Linux 作為該操作系統(tǒng)的目錄吧,于是Linux 這個名稱就開始流傳下來。 在Linus 的自傳《Just for Fun》一書中,Linus 解釋說:"坦白地說,我從來沒有想到過要用Linux 這個名稱發(fā)布這個操作系統(tǒng),因為
19、這個名字有些太自負了。而我為最終發(fā)布版準備的是什么名字呢Freax。實際上,內核代碼中某些早期的Makefile - 用于描述如何編譯源代碼的文件 - 文件中就已經包含有"Freax"這個名字了,大約存在了半年左右。但其實這也沒什么關系,在當時還不需要一個名字,因為我還沒有向任何人發(fā)布過內核代碼。而Ari Lemke,他堅持要用自己的方式將內核代碼放到ftp 站點上,并且非常不喜歡Freax 這個名字。他堅持要用現(xiàn)在
20、這個名字(Linux),我承認當時我并沒有跟他多爭論。但這都是他</p><p> 1.2 Linux的發(fā)展要素</p><p> Linux操作系統(tǒng)是UNIX的一種典型的克隆系統(tǒng)。在Linux誕生之后,借助于Internet網(wǎng)絡,在全世界計算機愛好者的共同努力下,成為目前世界上使用者最多的一種類似UNIX的操作系統(tǒng)。在Linux操作系統(tǒng)的誕生、成長和發(fā)展過程中,以下5個方面起到了重要
21、的作用:UNIX操作系統(tǒng)、Minix操作系統(tǒng)、GNU計劃、POSIX標準和Internet網(wǎng)絡。</p><p> 1.2.1 UNIX操作系統(tǒng)</p><p> UNIX ,是一個強大的多用戶、多任務操作系統(tǒng),支持多種處理器架構,最早由Ken Thompson、Dennis Ritchie和Douglas McIlroy于1969年在AT&T的貝爾實驗室開發(fā)。經過長期的發(fā)展和
22、完善,目前已成長為一種主流的操作系統(tǒng)技術和基于這種技術的產品大家族。由于UNIX具有技術成熟、可靠性高、網(wǎng)絡和數(shù)據(jù)庫功能強、伸縮性突出和開放性好等特色,可滿足各行各業(yè)的實際需要,特別能滿足企業(yè)重要業(yè)務的需要,已經成為主要的工作站平臺和重要的企業(yè)操作平臺。 </p><p> 自從UNIX操作系統(tǒng)從實驗室走出來之后,得到了長足的發(fā)展。目前已經成為大型系統(tǒng)的主流操作系統(tǒng),現(xiàn)在幾乎每個主要的計算機廠商都有其自有版本的
23、UNIX。UNIX是一個功能強大、性能全面的、多用戶、多任務的分時操作系統(tǒng),在從巨型計算機到普通PC等多種不同的平臺上,都有著十分廣泛的應用。</p><p> 通常情況下,比較大型的系統(tǒng)應用,例如銀行、電信部門,一般都采用固定機型的UNIX解決方案:在電信系統(tǒng)中以SUN的UNIX系統(tǒng)方案居多,在民航里以HP的系統(tǒng)方案居多,在銀行里以IBM的系統(tǒng)方案居多。</p><p> Linux
24、是一種UNIX的克隆系統(tǒng),采用了幾乎一致的系統(tǒng)API接口。特別是網(wǎng)絡方面,二者接口的應用程序幾乎完全一致。</p><p> 1.2.2 Minix操作系統(tǒng)</p><p> Minix操作系統(tǒng)也是UNIX操作系統(tǒng)的一種克隆系統(tǒng),它由荷蘭Amsterdam的Vrije大學著名教授Andrew S.Tanenbaum于1987年開發(fā)完成。Minux操作系統(tǒng)目的主要用于學生學習操作系統(tǒng)原理
25、時教學使用。在當時Minix操作系統(tǒng)在大學中是免費使用的,但是其他用途則需要收費。目前Minix操作系統(tǒng)已經全部是免費的,可以從許多FTP上下載,目前主要有1.5版本和2.0版本在使用。</p><p> 由于Minix操作系統(tǒng)提供源代碼,并且與操作系統(tǒng)相結合,有一本高質量的書籍介紹其實現(xiàn)原理,在當時全世界的大學中形成了學習Minix操作系統(tǒng)的風氣,Linus剛開始就是參照此系統(tǒng)在1991年開始開發(fā)Linux的
26、。</p><p> 實際上,Minix操作系統(tǒng)并不是很優(yōu)秀,但是這個操作系統(tǒng)提供了C語言和匯編語言的源代碼。而當時的UNIX操作系統(tǒng)源代碼除了極少的范圍外一直是保密的,Minix操作系統(tǒng)對程序員來說是一個福音。為了可以讓學生在一個學期內能夠學完操作系統(tǒng)的課程,AST保持了Minix操作系統(tǒng)的小型化,沒有接受世界各界對Minix擴展的要求,而正是這個原因激發(fā)了Linus編寫Linux操作系統(tǒng)。</p>
27、;<p> 1.2.3 POSIX 標準</p><p> POSIX(Portable Operating System Interface for Computing Systems)是由IEEE和ISO/IEC開發(fā)的一組標準。該標準基于現(xiàn)有的UNIX實踐和經驗,描述了操作系統(tǒng)的調用服務接口,用于保證編制的應用程序可以在源代碼一級上在多種操作系統(tǒng)上移植和運行。它是在20世紀80年代早期一個U
28、NIX用戶組的工作基礎上取得的。該UNIX用戶組原來試圖將AT&T的System V操作系統(tǒng)和Berkeley CSRG的BSD操作系統(tǒng)的調用接口之間的區(qū)別重新調和集成,并于1984年制定了usr/group標準。</p><p> 1.3 操作系統(tǒng)類型選擇和內核版本的選擇</p><p> 要在Linux環(huán)境下進行程序設計,首先要選擇合適的Linux發(fā)行版本和Linux的內
29、核,選擇一款適合自己的Linux操作系統(tǒng)。本節(jié)對常用的發(fā)行版本和Linux內核的選擇進行了介紹,并簡要講解了如何定制自己的Linux操作系統(tǒng)。</p><p> 1.3.1 常見的不同公司發(fā)行的Linux異同</p><p><b> 1.Debian</b></p><p> Debian是一個致力于創(chuàng)建一個自由操作系統(tǒng)的合作組織,由I
30、an Murdock于1993年創(chuàng)建。該組織創(chuàng)建的操作系統(tǒng)為Debian GNU/Linux,簡稱為Debian。這是一個免費的Linux系統(tǒng),擁有許多用戶。Debian的主要特點如下:</p><p> 簡單方便的安裝過程:可以通過光盤、DOS系統(tǒng)、軟盤、網(wǎng)絡來進行安裝。</p><p> 數(shù)量眾多的軟件包:Debian擁有超過18733個軟件包。</p><p&
31、gt; 軟件包的高度集成:Debian軟件包都是由同一個團體所包裝,其deb格式具有某些超越rpm格式的優(yōu)點,正是這種軟件包之間的集成性讓Debian成為更穩(wěn)定強健的系統(tǒng)。</p><p> 簡單方便的升級程序:由于Debian的包裝系統(tǒng)升級到新的版本非常輕松,只需要運行apt-get update;apt-get dist-upgrade,就可以在幾分鐘內通過光盤實現(xiàn)升級(或者將apt指向Debian映射站
32、點,通過網(wǎng)絡來升級)。</p><p> Debian系統(tǒng)分為3個版本:</p><p> unstable版(不穩(wěn)定版):為最新的測試版本,其中包括最新的軟件包,但是也有相對較多的bug,適合桌面用戶。</p><p> testing版(測試版):該版本都經過unstable中的測試,相對較為穩(wěn)定,也支持了不少新技術(比如SMP等)。</p>
33、<p> stable版(穩(wěn)定版):一般只用于服務器,其中的軟件包大部分都比較過時,但是穩(wěn)定和安全性都非常的高。</p><p> Debian GNU/Linux不單是一個操作系統(tǒng),它也包含一萬多個軟件包,它們是一些已經過編譯的軟件,并包裝成一種容易安裝的格式。</p><p> Debian的官方網(wǎng)站是http://www.debian.org/,讀者可通過該網(wǎng)站下載
34、Debian最新版本進行安裝。</p><p><b> 2.Ubuntu</b></p><p> Ubuntu基于Debian,包括了大量來自Debian發(fā)行版的軟件包,保留了Debian強大的軟件包管理系統(tǒng),以便簡易地安裝或徹底的刪除程序。與大多數(shù)發(fā)行版附帶數(shù)量巨大的可用可不用的軟件不同,Ubuntu的軟件包清單只包含那些高質量的重要應用程序。</p&
35、gt;<p> Ubuntu具有以下特色:</p><p> 使用GNOME桌面環(huán)境:Ubuntu的開發(fā)者與Debian和GNOME開源社區(qū)互相協(xié)作,因此其桌面環(huán)境采用了GNOME的最新版本,并且與GNOME項目同步發(fā)布。</p><p> 安全性:Ubuntu十分注重系統(tǒng)的安全性,采用Sudo工具,所有系統(tǒng)相關的任務均需使用此指令,并輸入密碼,比起傳統(tǒng)以登入系統(tǒng)管理員
36、賬號進行管理工作有更佳的安全性。</p><p> 可用性:Ubuntu也十分注重系統(tǒng)的可用性,其設計為在標準安裝完成后即可以讓使用者投入使用的操作系統(tǒng)。例如,完成系統(tǒng)的安裝后,用戶不需要另外安裝網(wǎng)頁瀏覽器、辦公室軟件、多媒體軟件與繪圖軟件等日常應用的軟件,因為這些軟件已被安裝,并可隨時使用。</p><p> 新增特性:對于Ubuntu 8.04版本還增加了許多新的功能,如,允許用戶
37、把Ubuntu 8.04系統(tǒng)安裝到Windows操作系統(tǒng)上,而不強制要求獨立的硬盤分區(qū)。將KVM虛擬化技術整合到Ubuntu 8.04,通過管理員權限,用戶可以更容易的創(chuàng)建和管理虛擬機,使用更易配置的防火墻程序。</p><p> Ubuntu對于桌面和服務器來說都是合適的。當前,Ubuntu發(fā)布版支持PC(Intel x86)、64-bit PC(AMD64)和PowerPC(Apple iBook和Powe
38、rbook,G4和G5)架構。Ubuntu主要分為桌面版和服務器版兩種。</p><p> Ubuntu桌面版:可以瀏覽網(wǎng)頁、查閱電子郵件、撰寫文件、分發(fā)表單、編輯圖片以及進行許多其他操作。</p><p> Ubuntu服務器版:建立在穩(wěn)健的Debian服務器版基礎之上,它在一個穩(wěn)定、安全、被充分支持的平臺上提供著最好的自由軟件。</p><p> Ubun
39、tu的版本號根據(jù)發(fā)布一個版本的日期而定。版本號由該次發(fā)布的年份和月份組成,并未反映其實際版本。例如,首次發(fā)布是在2004年10月,因此其版本號為4.10。當前版本于2009年4月發(fā)布,因此版本號為9.04。</p><p> 提示:讀者可從其官方網(wǎng)站http://www.ubuntu.com.cn/上免費下載需要的版本進行安裝,也可在國內的鏡像站點進行下載。</p><p> 3.Sl
40、ackware</p><p> Slackware由Patrick Volkerding創(chuàng)建于1992年,是歷史最悠久的Linux發(fā)行版,曾經在所有發(fā)行版中擁有最多的用戶數(shù)量。與很多其他的發(fā)行版不同,它堅持KISS(Keep It Simple Stupid)的原則,即沒有任何配置系統(tǒng)的圖形界面工具。對于Linux的初學者來說,配置系統(tǒng)通常都會有一些困難,但是對有經驗的系統(tǒng)管理員,將會喜歡這種方式的透明性和靈
41、活性。</p><p> Slackware Linux的另一個突出的特性是符合KISS原則:Slackware沒有如RPM之類的成熟的軟件包管理器。Slackware的軟件包都由通常的tgz(tar/gzip)格式文件和安裝腳本組成。對于有經驗的用戶來說,tgz格式文件的功能比RPM更為強大,可以避免RPM之類管理器的依賴性問題。</p><p> Slackware還有另外一個特性
42、就是BSD風格的初始化腳本。Slackware對所有的運行級(runlevel)任務都用同一個腳本,而不是在不同的運行級中建立一堆腳本的鏈接。這樣,讓用戶不必自己編寫新的腳本就能很容易地調整系統(tǒng)。</p><p> 由于Slackware系統(tǒng)比較簡潔、干凈,易于在它的基礎上進行開發(fā),因此基于Slackware衍生出了多個發(fā)行版和Live-CD項目。所謂Live-CD,就是一個在光盤上運行的Linux系統(tǒng)。從Sl
43、ackware 9.1開始,其第二張安裝CD就是一個Live-CD。</p><p> Slackware的官方網(wǎng)站為http://www.slackware.com,讀者可從該網(wǎng)站下載最新版本。</p><p><b> 4.Fedora</b></p><p> Fedora項目是由Red Hat贊助,由開源社區(qū)與Red Hat工程師
44、合作開發(fā)的項目,是一套從Red Hat Linux發(fā)展出來的免費Linux系統(tǒng)。目前,F(xiàn)edora最新的版本是Fedora 11。</p><p> 對于Linux用戶來說,Red Hat應該是最熟悉的發(fā)行版。Red Hat最早由Bob Young和Marc Ewing在1995年創(chuàng)建。Red Hat的發(fā)行版到Red Hat 9.0后就已停止技術支持。因此,目前Red Hat分為兩個系列:由Red Hat公司提
45、供收費技術支持和更新的Red Hat Enterprise Linux,以及由社區(qū)開發(fā)的免費的Fedora Core。Fedora Core自第五版起直接更名為Fedora。</p><p> Fedora從2003年推出第一個發(fā)行版Fedora Core1開始,到2009年6月推出Fedora 11,其更新速度很快。</p><p> 提示:Fedora的官方網(wǎng)站是http://fe
46、doraproject.org,讀者可從該網(wǎng)站下載最新版的Fedora安裝使用。</p><p> 5.Red Hat Enterprise Linux</p><p> 前面已經介紹過,Red Hat公司的免費發(fā)行版到Red Hat 9.0就結束了?,F(xiàn)在,Red Hat公司全面轉向Red Hat Enterprise Linux(簡寫為RHEL)的開發(fā),和以往不同的是,新的RHEL要
47、求用戶先購買許可,Red Hat承諾保證軟件的穩(wěn)定性、安全性,并且RHEL的二進制代碼不再提供下載,而是作為Red Hat服務的一部分。但依據(jù)GNU的規(guī)定,其源代碼依然是開放的。</p><p> RHEL從2003年3月推出開始,到2009年1月已經發(fā)行到RHEL 5.3版本(2007年3月就發(fā)布了RHEL5)。</p><p> RHEL5基于Linux 2.6.18內核,支持多核
48、處理器,其版本主要分為Server和Desktop兩個。</p><p><b> 1.Server版</b></p><p> RHEL Server版本是RHEL家族中最強的版本,支持大型服務器,包括最全面的支持服務,適用于大型企業(yè)部門及數(shù)據(jù)中心。</p><p> Server版本可分為Red Hat Enterprise Linu
49、x Advanced Platform(對應以前的Red Hat Enterprise Linux AS)和Red Hat Enterprise Linux(對應以前的Red Hat Enterprise Linux AS)。</p><p> 2.Desktop版</p><p> RHEL Desktop版是RHEL的桌面版。適合所有桌面部署,包括辦公室軟件、軟件制作環(huán)境及一些IS
50、V客戶程序。</p><p> Desktop版本分為Red Hat Enterprise Linux Desktop(對應以前的Red Hat Desktop)和Red Hat Enterprise Linux Desktop with Workstation option(對應以前的Red Hat Enterprise Linux WS)。</p><p> 1.3.2內核版本的選
51、擇</p><p> 內核是Linux操作系統(tǒng)的最重要的部分,從最初的0.95版本到目前的2.6.28.4版本,Linux內核開發(fā)經過了近20年的時間,其架構已經十分穩(wěn)定。Linux內核的編號采用如下編號形式:</p><p> 主版本號.次版本號.主補丁號.次補丁號</p><p> 例如2.6.26.3各數(shù)字的含義如下:</p><p&
52、gt; (1) 第1個數(shù)字(2)是主版本號,表示第2大版本;</p><p> (2) 第2個數(shù)字(6)是次版本號,有兩個含義:既表示是Linux內核大版本的第6個小版本,同時因為6是偶數(shù)表示為發(fā)布版本(奇數(shù)表示測試版);</p><p> (3) 第3個數(shù)字(26)是主版本補丁號,表示指定小版本的第26個補丁包;</p><p> (4) 第4個數(shù)字(3)
53、是次版本補丁號,表示次補丁號的第3個小補丁。</p><p> 在安裝Linux操作系統(tǒng)的時候,最好不要采用發(fā)行版本號中的小版本號是奇數(shù)的內核,因為開發(fā)中的版本沒有經過比較完善的測試,有一些bug是未知的,有可能造成使用中不必要的麻煩。</p><p> 注意:Debian Linux內核的版本稍有不同,如2.6.18-3,可以發(fā)現(xiàn)多了一組數(shù)該數(shù)字是構建號。每個構建號可以增加少量新的驅
54、動程序或缺陷修復。</p><p> Linux內核版本的開發(fā)源代碼樹目前比較通用的是2.6.xx的版本,當然,有部分2.4的版本仍在使用。與2.4版本的內核相比較,2.6版本內核具有如下的優(yōu)勢:</p><p> 支持絕大多數(shù)的嵌入式系統(tǒng),加入了之前嵌入式系統(tǒng)經常使用的μClinux的大部分代碼,并且子系統(tǒng)的支持更加細化可以支持硬件體系結構的多樣性,可搶占內核的調度方式支持實時系統(tǒng),
55、可定制內核。</p><p> 支持目前最新的CPU,例如Intel的超線程、可擴展的地址空間訪問。</p><p> 驅動程序框架變更,例如用.ko替代了原來的.o方式,消除內核競爭,更加透明的子模塊方式。</p><p> 增加了更多的內核級的硬件支持。</p><p> 本書中的環(huán)境對Linux的內核沒有特殊要求,因此讀者在選擇
56、內核版本的時候不需要重新編譯內核,使用操作系統(tǒng)自帶的內核就可以滿足需要。本書作者的操作系統(tǒng)內核為Linux-2.6.18.3-686。</p><p> 1.4 Linux的系統(tǒng)架構</p><p> Linux系統(tǒng)從應用角度來看,分為內核空間和用戶空間兩個部分。內核空間是Linux操作系統(tǒng)的主要部分,但是僅有內核的操作系統(tǒng)是不能完成用戶任務的。豐富并且功能強大的應用程序包是一個操作
57、系統(tǒng)成功的必要條件</p><p> 1.4.1 Linux內核的主要模塊</p><p> Linux的內核主要由5個子系統(tǒng)組成:進程調度、內存管理、虛擬文件系統(tǒng)、網(wǎng)絡接口、進程間通信。 </p><p> (1) 進程調度SCHED</p><p> 進程調度指的是系統(tǒng)對進程的多種狀態(tài)之間轉換的策略。Linux下的進程調度有3種策
58、略:SCHED_OTHER、SCHED_FIFO和SCHED_RR。</p><p> SCHED_OTHER是用于針對普通進程的時間片輪轉調度策略。這種策略中,系統(tǒng)給所有的運行狀態(tài)的進程分配時間片。在當前進程的時間片用完之后,系統(tǒng)從進程中優(yōu)先級最高的進程中選擇進程運行。</p><p> SCHED_FIFO是針對運行的實時性要求比較高、運行時間短的進程調度策略。這種策略中,系統(tǒng)按照
59、進入隊列的先后進行進程的調度,在沒有更高優(yōu)先級進程到來或者當前進程沒有因為等待資源而阻塞的情況下,會一直運行。</p><p> SCHED_RR是針對實時性要求比較高、運行時間比較長的進程調度策略。這種策略與SCHED_OTHER的策略類似,只不過SCHED_RR進程的優(yōu)先級要高得多。系統(tǒng)分配給SCHED_RR進程時間片,然后輪循運行這些進程,將時間片用完的進程放入隊列的末尾。</p><
60、p> 由于存在多種調度方式,Linux進程調度采用的是“有條件可剝奪”的調度方式。普通進程中采用的是SCHED_OTHER的時間片輪循方式,實時進程可以剝奪普通進程。如果普通進程在用戶空間運行,則普通進程立即停止運行,將資源讓給實時進程;如果普通進程運行在內核空間,需要等系統(tǒng)調用返回用戶空間后方可剝奪資源。</p><p> (2)內存管理MMU</p><p> 內存管理是多
61、個進程間的內存共享策略。在Linux系統(tǒng)中,內存管理的主要概念是虛擬內存。</p><p> 虛擬內存可以讓進程擁有比實際物理內存更大的內存,可以是實際內存的很多倍。每個進程的虛擬內存有不同的地址空間,多個進程的虛擬內存不會沖突。</p><p> 虛擬內存的分配策略是每個進程都可以公平地使用虛擬內存。虛擬內存的大小通常設置為物理內存的兩倍。</p><p>
62、 (3)虛擬文件系統(tǒng)VFS</p><p> 在Linux下支持多種文件系統(tǒng),如ext、ext2、minix、umsdos、msdos、vfat、ntfs、proc、smb、ncp、iso9660、sysv、hpfs、affs等。目前Linux下最常用的文件格式是ext2和ext3。ext2文件系統(tǒng)用于固定文件系統(tǒng)和可活動文件系統(tǒng),是ext文件系統(tǒng)的擴展。ext3文件系統(tǒng)是在ext2上增加日志功能后的擴展,它兼
63、容ext2。兩種文件系統(tǒng)之間可以互相轉換,ext2不用格式化就可以轉換為ext3文件系統(tǒng),而ext3文件系統(tǒng)轉換為ext2文件系統(tǒng)也不會丟失數(shù)據(jù)。</p><p><b> (4)網(wǎng)絡接口</b></p><p> Linux是在Internet飛速發(fā)展的時期成長起來的,所以Linux支持多種網(wǎng)絡接口和協(xié)議。網(wǎng)絡接口分為網(wǎng)絡協(xié)議和驅動程序,網(wǎng)絡協(xié)議是一種網(wǎng)絡傳輸?shù)?/p>
64、通信標準,而網(wǎng)絡驅動則是對硬件設備的驅動程序。Linux支持的網(wǎng)絡設備多種多樣,幾乎目前所有網(wǎng)絡設備都有驅動程序。</p><p><b> (5)進程間通信</b></p><p> Linux操作系統(tǒng)支持多進程,進程之間需要進行數(shù)據(jù)的交流才能完成控制、協(xié)同工作等功能,Linux的進程間通信是從UNIX系統(tǒng)繼承過來的。Linux下的進程間通信方式主要有管道方式、
65、信號方式、消息隊列方式、共享內存和套接字等方法</p><p> 1.4.2 Linux的文件結構</p><p> 與Windows下的文件組織結構不同,Linux不使用磁盤分區(qū)符號來訪問文件系統(tǒng),而是將整個文件系統(tǒng)表示成樹狀的結構,Linux系統(tǒng)每增加一個文件系統(tǒng)都會將其加入到這個樹中。</p><p> 操作系統(tǒng)文件結構的開始,只有一個單獨的頂級目錄結構
66、,叫做根目錄。所有一切都從“根”開始,用“/”代表,并且延伸到子目錄。DOS/Windows下文件系統(tǒng)按照磁盤分區(qū)的概念分類,目錄都存于分區(qū)上。Linux則通過“掛接”的方式把所有分區(qū)都放置在“根”下各個目錄里。一個Linux系統(tǒng)的文件結構如圖1.1所示。</p><p> 不同的Linux發(fā)行版本的目錄結構和具體的實現(xiàn)功能存在一些細微的差別。但是主要的功能都是一致的。一些常用目錄的作用如下:</p>
67、;<p> /etc:包括絕大多數(shù)Linux系統(tǒng)引導所需要的配置文件,系統(tǒng)引導時讀取配置文件,按照配置文件的選項進行不同情況的啟動,例如fstab、host.conf等。 </p><p> /lib:包含C編譯程序需要的函數(shù)庫,是一組二進制文件,例如glibc等。 </p><p> /usr:包括所有其他內容,如src、local。Linux的內核就在/usr/sr
68、c中。其下有子目錄/bin,存放所有安裝語言的命令,如gcc、perl等。 </p><p> /var:包含系統(tǒng)定義表,以便在系統(tǒng)運行改變時可以只備份該目錄,如cache。 </p><p> /tmp:用于臨時性的存儲。 </p><p> /bin:大多數(shù)命令存放在這里。 </p><p> /home:主要存放用戶賬號,并且可
69、以支持ftp的用戶管理。系統(tǒng)管理員增加用戶時,系統(tǒng)在home目錄下創(chuàng)建與用戶同名的目錄,此目錄下一般默認有Desktop目錄。 </p><p> /dev:這個目錄下存放一種設備文件的特殊文件,如fd0、had等。 </p><p> /mnt:在Linux系統(tǒng)中,它是專門給外掛的文件系統(tǒng)使用的,里面有兩個文件cdrom、floopy,登錄光驅、軟驅時要用到。</p>
70、<p> 剛開始使用Linux的人比較容易混淆的是Linux下使用斜杠“/”,而在DOS/Windows下使用的是反斜杠“\”。例如在Linux中,由于從UNIX集成的關系,路徑用“/usr/src/Linux”表示,而在Windows下則用“\usr\src\Linux”表示。在Linux下更加普遍的問題是大小寫敏感,這樣字母的大小寫十分重要,例如文件Hello.c和文件hello.c在Linux下不是一個文件,而在Win
71、dows下則表示同一個文件。</p><p> 1.5 GNU通用公共許可證</p><p> 導致Linux系統(tǒng)迅速發(fā)展的重要原因之一,是因為Linux系統(tǒng)遵循GNU通用公共版權協(xié)議。實際上,Linux系統(tǒng)中絕大多數(shù)系統(tǒng)工具和應用軟件都是GNU的。</p><p><b> 1. 什么是GNU</b></p><p&
72、gt; 簡單地說,GNU是一種自由軟件體系。</p><p> 1984年,自由軟件的積極倡導者、自由軟件基金會的董事長Richard M.Stallman(RMS)組織成立了一個完全基于自由軟件的軟件體系GNU,并擬定了一份通用公共版權協(xié)議。</p><p> GNU的創(chuàng)始人Stal1man認為UNIX雖然不是最好的操作系統(tǒng),但至少不會太差,而他自信有能力把UNIX不足的地方加以
73、改進,使它成為一個優(yōu)良的操作系統(tǒng)。這就是同UNIX兼容的、名為GNU的操作系統(tǒng)。</p><p> 開發(fā)這個系統(tǒng)的目的,就是為了讓所有的計算機用戶都可以自由地使用這個系統(tǒng)和免費獲得其源代碼,并且可以自由復制。當然GNU也擁有自己的版權申明,那就是用戶獲得GNU軟件后,既可以自由使用和修改,也可以散布GNU軟件,但是必須讓下一個用戶也有獲得源代碼的權利。規(guī)定是為了防止有些人或公司將GNU軟件稍加修改就去申請版權,
74、將其據(jù)為己有,其目的是要讓GNU軟件永遠是自由和公開的。</p><p> 目前, GNU目前已經推出的軟件主要有功能強大的集成編輯環(huán)境—Emacs、性能優(yōu)異的多平臺多語言編譯器以及其他幾十種軟件。人們已經很熟悉的一些軟件如BIND、Pd、Apache、TCP/IP等實際上都是自由軟件的經典之作,現(xiàn)在又有了Netscape的加盟。</p><p> 2. Linux系統(tǒng)與GNU的關系
75、</p><p> Linux不僅是一個理想主義者,而且他又非常講求實際。1993年,Linux系統(tǒng)的第一個版本問世的時候,是按完全自由擴散版權進行擴散的。它要求所有的源代碼必須公開,而且任何人均不得從Linux交易中獲利。然而半年以后,他開始意識到這種純粹的自由軟件的理想對于Linux的擴散和發(fā)展來說實際上是一種障礙,因為它限制了Linux系統(tǒng)以磁盤復制或者CD-ROM等媒體形式進行擴散的可能,也限制了一些商
76、業(yè)公司參與Linux系統(tǒng)的進一步開發(fā)并提供技術支持的良好愿望。于是,Linux先生決定轉向GPL版權。</p><p> 第二章 Linux與其他操作系統(tǒng)的比較</p><p> 2.1 Linux與UNIX的異同</p><p> Linux是UNIX操作系統(tǒng)的一個克隆系統(tǒng),沒有UNIX就沒有Linux。但是,Linux和傳統(tǒng)的UNIX有很大的不同,兩者
77、之間的最大區(qū)別是關于版權方面的:Linux是開放源代碼的自由軟件,而UNIX是對源代碼實行知識產權保護的傳統(tǒng)商業(yè)軟件。兩者之間還存在如下的區(qū)別:</p><p> UNIX操作系統(tǒng)大多數(shù)是與硬件配套的,操作系統(tǒng)與硬件進行了綁定;而Linux則可運行在多種硬件平臺上。</p><p> UNIX操作系統(tǒng)是一種商業(yè)軟件(授權費大約為5萬美元);而Linux操作提供則是一種自由軟件,是免費的
78、,并且公開源代碼。</p><p> UNIX的歷史要比Linux悠久,但是Linux操作系統(tǒng)由于吸取了其他操作系統(tǒng)的經驗,其設計思想雖然源于UNIX但是要優(yōu)于UNIX。</p><p> 雖然UNIX和Linux都是操作系統(tǒng)的名稱,但UNIX除了是一種操作系統(tǒng)的名稱外,作為商標,它歸SCO所有。</p><p> Linux的商業(yè)化版本有Red Hat Li
79、nux、SuSe Linux、slakeware Linux、國內的紅旗Linux等,還有Turbo Linux;UNIX主要有Sun的Solaris、IBM的AIX,HP的HP-UX,以及基于x86平臺的SCO UNIX/UNIXware。</p><p> Linux操作系統(tǒng)的內核是免費的;而UNIX的內核并不公開。</p><p> 在對硬件的要求上,Linux操作系統(tǒng)要比UNI
80、X要求低,并且沒有UNIX對硬件要求的那么苛刻;在對系統(tǒng)的安裝難易度上,Linux比UNIX容易得多;在使用上,Linux相對沒有UNIX那么復雜。</p><p> 總體來說,Linux操作系統(tǒng)無論在外觀上還是在性能上都與UNIX相同或者比UNIX更好,但是Linux操作系統(tǒng)不同于UNIX的源代碼。在功能上,Linux仿制了UNIX的一部分,與UNIX的System V和BSD UNIX相兼容。在UNIX上可
81、以運行的源代碼,一般情況下在Linux上重新進行編譯后就可以運行,甚至BSD UNIX的執(zhí)行文件可以在Linux操作系統(tǒng)上直接運行</p><p> Linux和Windows的區(qū)別以及安全性的比較 </p><p> 和Linux一樣,Windows系列是完全的多任務操作系統(tǒng)。它們支持同樣的用戶接口、網(wǎng)絡和安全性。但是,Linux和Windows的真正區(qū)別在于,Linux事實上是Un
82、ix的一種版本,而且來自Unix的貢獻非常巨大。是什么使得Unix如此重要?不僅在于對多用戶機器來說,Unix是最流行的操作系統(tǒng),而且在于它是免費軟件的基礎。在Internet上,大量免費軟件都是針對Unix系統(tǒng)編寫的。由于有眾多的Unix廠商,所以Unix也有許多實現(xiàn)方法。沒有一個單獨的組織負責Unix的分發(fā)。現(xiàn)在,存在一股巨大的力量推動Unix社團以開放系統(tǒng)的形式走向標準化。另一方面Windows系列是專用系統(tǒng),由開發(fā)操作系統(tǒng)的公司
83、控制接口和設計。在這個意義上這種公司利潤很高,因為它對程序設計和用戶接口設計建立了嚴格的標準,和那些開放系統(tǒng)社團完全不一樣。一些組織正在試圖完成標準化Unix程序設計接口的任務。特別要指出的是,Linux完全兼容POSIX.1標準。 </p><p> 2.3 Linux與其他操作系統(tǒng)的區(qū)別 </p><p> 從發(fā)展的背景看,Linux與其他操作系統(tǒng)的區(qū)別是,Linux是從一個比
84、較成熟的操作系統(tǒng)發(fā)展而來的,而其他操作系統(tǒng),如Windows 等,都是自成體系,無對應的相依托的操作系統(tǒng)。這一區(qū)別使得Linux的用戶能大大地從Unix團體貢獻中獲利。因為Unix是世界上使用最普遍、發(fā)展最成熟的操作系統(tǒng)之一,它是七十年代中期發(fā)展起來的微機和巨型機的多任務系統(tǒng),雖然有時接口比較混亂,并缺少相對集中的標準,但還是發(fā)展壯大成為了最廣泛使用的操作系統(tǒng)之一。無論是Unix的作者還是Unix的用戶,都認為只有Unix才是一個真正
85、的操作系統(tǒng),許多計算機系統(tǒng)(從個人計算機到超級計算機)都存在Unix版本,Unix的用戶可以從很多方面得到支持和幫助。 因此,Linux做為Unix的一個克隆,同樣會得到相應的支持和幫助,直接擁有Unix在用戶中建立的牢固的地位。 </p><p> 2.4 Linux與其他
86、系統(tǒng)的總體比較</p><p> 從使用費用上看,Linux與其他操作系統(tǒng)的區(qū)別在于Linux是一種開放、免費的操作系統(tǒng),而其他操作系統(tǒng)都是封閉的系統(tǒng),需要有償使用。這一區(qū)別使得我們能夠不用花錢就能得到很多Linux的版本以及為其開發(fā)的應用軟件。當我們訪問Internet時,會發(fā)現(xiàn)幾乎所有可用的自由軟件都能夠運行在Linux系統(tǒng)上。有來自很多軟件商的多種Unix實現(xiàn),Unix的開發(fā)、發(fā)展商以開放系統(tǒng)的方式推動其
87、標準化,但卻沒有一個公司來控制這種設計。因此,任何一個軟件商(或開拓者)都能在某種Unix實現(xiàn)中實現(xiàn)這些標準。OS/2和Windows NT等操作系統(tǒng)是具有版權的產品,其接口和設計均由某一公司控制,而且只有這些公司才有權實現(xiàn)其設計,它們是在封閉的環(huán)境下發(fā)展的。</p><p> 眾所周知,時下的電腦操作系統(tǒng)分為兩大主流,一個是象征開放自由的企鵝派 – Linux ;另一個就是什么都講錢的微軟視窗派
88、– Windows。條列出以下五項Linux與Windows間的主要區(qū)別。</p><p> 一、自由授權與限制授權的差異</p><p> 有著GPL授權的Linux操作系統(tǒng),你可以自由地修改、使用甚至發(fā)行或銷售軟件;你也可以下載單一套件的Linux相關應用程序,然后隨你喜愛想要安裝至幾臺電腦都可以。</p><p> 而在微軟授權下,上述的行為你最好別作也
89、可能無法作,如果你想要在10臺電腦上安裝Windows操作系統(tǒng),請你乖乖付費購買10套軟件授權。</p><p> 二、各種在線支持與付費支持的差異</p><p> 這可能是許多企業(yè)投向Linux懷抱的住要因素。在Linux,你可以在廣大的社區(qū)中獲得支持,例如利用論壇、在線搜索以及許多專屬網(wǎng)站來獲得必要的支持。當然了,如果你愿意也可以向各家大型Linux公司購買支持合約,如: 紅帽
90、( Red Hat )跟Novell。</p><p> 在微軟方面,你同樣也可類似Linux的方式一樣獲得Windows支持,如:在線的一些協(xié)助網(wǎng)站或相關論壇,你同樣的也可以直接付費向微軟購買技術支持。</p><p> 三、完全讀取與不可讀取的差異</p><p> 這也可能是Linux與Windows之間的最大差異。由于Linux是屬于GNU公開授權,因
91、而能夠允許用戶讀取、修改它的主要內核程序代碼。</p><p> 你想要剝出Windows程序代碼?除非你是特別選定人選團體,不然別想要一窺Windows操作系統(tǒng)的程序代碼。</p><p> 四、 命令行與無命令行的差異</p><p> 不管Linux操作系統(tǒng)是如何安裝,或是桌面環(huán)境如何變動,毫無疑問它的命令行是管理上不可獲缺的一項工具;對于Linux管
92、理者而言,文字架構的編輯器是不可被取代的。</p><p> 但是微軟似乎不想讓用戶使用命令行,盡避Windows還是擁有所謂“命令提示字符”功能。很多用戶甚至不知道這項功能隱藏在何方。</p><p> 五、彈性化與刻板化的差異</p><p> 要比喻Linux與Windows之間彈性化的差異,可以用一個房間的天花板跟地板是否可以變動調配來看。在Linux
93、里,有如你的房間天花板跟地板是可以隨著你的喜好來升高或降低;而在Windows方面,一切都是不可變動的,而且微軟也認為沒有此項必要。</p><p> 舉例而言,如果你付費購買了第三方程序,就有機會可以隨著你的喜好來更改Linux桌面外觀;但是如果在Windows,你將被限制在微軟所謂最佳并且最適合你的桌面。</p><p> 2.5 Linux與Windows根本比較—內核<
94、/p><p> windows系統(tǒng)優(yōu)化有一個地方從來沒有動過,那就是內核的優(yōu)化,沒有這個功能也就沒有了很多的個性定制,這也許就是開源與不開源的巨大差異。下面說正題吧,</p><p> 一、內核簡介 內核,是一個操作系統(tǒng)的核心。它負責管理系統(tǒng)的進程、內存、設備驅動程序、文件和網(wǎng)絡系統(tǒng),決定著系統(tǒng)的性能和穩(wěn)定性。 linux的一個重要的特點就是其源代碼的公開性,所有的內核源程序都可以
95、在 /usr/src/linux下找到,大部分應用軟件也都是遵循GPL而設計的,你都可以獲取相應的源程序代碼。全世界任何一個軟件工程師都可以將自己認為優(yōu)秀的代碼加入到其中,由此引發(fā)的一個明顯的好處就是Linux修補漏洞的快速以及對最新軟件技術的利用。而Linux的內核則是這些特點的最直接的代表?! ∠胂笠幌?,擁有了內核的源程序對你來說意味著什么?首先,我們可以了解系統(tǒng)是如何工作的。通過通讀源代碼,我們就可以了解系統(tǒng)的工作原理,這在Wi
96、ndows下簡直是天方夜譚。其次,我們可以針對自己的情況,量體裁衣,定制適合自己的系統(tǒng),這樣就需要重新編譯內核。在Windows下是什么情況呢?相信很多人都被越來越龐大的Windows整得莫名其妙過。再次,我們可以對內核進行修改,以符合自己的需要。這意味著什么?沒錯,相當于自己開發(fā)了一個操作系統(tǒng),但是大部分的工作已經做好了,你所要做的就是要增加并實現(xiàn)自</p><p> 二、內核版本號 由于linux的源程
97、序是完全公開的,任何人只要遵循GPL,就可以對內核加以修改并發(fā)布給他人使用。Linux的開發(fā)采用的是集市模型(bazaar,與cathedral–教堂模型–對應),為了確保這些無序的開發(fā)過程能夠有序地進行,Linux采用了雙樹系統(tǒng)。一個樹是穩(wěn)定樹(stable tree),另一個樹是非穩(wěn)定樹(unstable tree)或者開發(fā)樹(development tree)。一些新特性、實驗性改進等都將首先在開發(fā)樹中進行。如果在開發(fā)樹中所做的改
98、進也可以應用于穩(wěn)定樹,那么在開發(fā)樹中經過測試以后,在穩(wěn)定樹中將進行相同的改進。一旦開發(fā)樹經過了足夠的發(fā)展,開發(fā)樹就會成為新的穩(wěn)定樹。開發(fā)數(shù)就體現(xiàn)在源程序的版本號中;源程序版本號的形式為x.y.z:對于穩(wěn)定樹來說,y是偶數(shù);對于開發(fā)樹來說,y比相應的穩(wěn)定樹大一(因此,是奇數(shù))。到目前為止,穩(wěn)定樹的最高版本是2.4.18;開發(fā)樹的最新版本是2.5.10。下載內核版本請訪問http://www.kernel.org。</p>&
99、lt;p> 三、為什么重新編譯內核 linux作為一個自由軟件,在廣大愛好者的支持下,內核版本不斷更新。新的內核修訂了舊內核的bug,并增加了許多新的特性。如果用戶想要使用這些新特性,或想根據(jù)自己的系統(tǒng)度身定制一個更高效,更穩(wěn)定的內核,就需要重新編譯內核?! ⊥ǔ#碌膬群藭С指嗟挠布?,具備更好的進程管理能力,運行速度更快、 更穩(wěn)定,并且一般會修復老版本中發(fā)現(xiàn)的許多漏洞等,經常性地選擇升級更新的系統(tǒng)內核是 linux
100、使用者的必要操作內容?! 榱苏_的合理地設置內核編譯配置選項,從而只編譯系統(tǒng)需要的功能的代碼,一般主要有下面四個考慮: ?、?、自己定制編譯的內核運行更快(具有更少的代碼); ?、凇⑾到y(tǒng)將擁有更多的內存(內核部分將不會被交換到虛擬內存中); ③、不需要的功能編譯進入內核可能會增加被系統(tǒng)攻擊者利用的漏洞; ?、堋⒛撤N功能編譯為模塊方式會比編譯到內核內的方式速度要慢一些;</p><p> 四、內核編
101、譯模式 要增加對某部分功能的支持,比如網(wǎng)絡之類,可以把相應部分編譯到內核中(build-in),也可以把該部分編譯成模塊(module),動態(tài)調用。如果編譯到內核中,在內核啟動時就可以自動支持相應部分的功能,這樣的優(yōu)點是方便、速度快,機器一啟動,你就可以使用這部分功能了;缺點是會使內核變得龐大起來,不管你是否需要這部分功能,它都會存在,這就是Windows慣用的招數(shù),建議經常使用的部分直接編譯到內核中,比如網(wǎng)卡。如果編譯成模塊,就會
102、生成對應的.o文件,在使用的時候可以動態(tài)加載,優(yōu)點是不會使內核過分龐大,缺點是你得自己來調用這些模塊。</p><p> 2.6 Linux的特性</p><p> Linux操作系統(tǒng)在短短的幾年之內便得到了非常迅猛的發(fā)展,這與Linux具有的良好特性是分不開的。Linux包含UNIX的全部功能和特性。簡單地說,Linux具有以下主要特性。 開放性是指系統(tǒng)遵循世界標準規(guī)范,特別是
103、遵循開放系統(tǒng)互連(OSI)國際標準。凡遵循國際標準所開發(fā)的硬件和軟件,都能彼此兼容,可方便地實現(xiàn)互聯(lián)。 1.多用戶 多用戶是指系統(tǒng)資源可以被不同用戶各自擁有和使用,即每個用戶對自己的資源(如文件、設備)有特定的權限,互不影響。Linux和UNIX都具有多用戶的特性。 2.多任務 多任務是現(xiàn)代計算機操作系統(tǒng)的最主要的一個特點。它是指計算機同時執(zhí)行多個程序,而且各個程序的運行互相獨立。Linux系統(tǒng)調度每一個進程平等
104、地訪問處理器(CPU)。由于CPU的處理速度非常快,從處理器執(zhí)行一個應用程序中的一組指令到Linux調度處理器再次運行這個程序之間只有很短的時間延遲,用戶是感覺不出來的,因而啟動的應用程序看起來好像在并行運行。 3.良好的用戶界面 Linux向用戶提供了兩種界面:用戶界面和系統(tǒng)調用。Linux的傳統(tǒng)用戶界面是基于文本的命令行界</p><p> 4. 設備獨立性 </p>&l
105、t;p> 設備獨立性是指操作系統(tǒng)把所有外部設備統(tǒng)一視為文件,只要安裝它們的驅動程序,任何用戶都可以像使用文件一樣操縱、使用這些設備,而不必知道它們的具體存在形式。 具有設備獨立性的操作系統(tǒng)通過把每一個外圍設備看做一個獨立文件來簡化增加新設備的工作。當需要增加新設備時,系統(tǒng)管理員在內核中增加必要的連接。這種連接(也稱做設備驅動程序)保證每次調用設備提供服務時,內核以相同的方式來處理它們。當新的或更好的外設被開發(fā)并交付給用戶時
106、,只要這些設備連接到內核,就能不受限制地立即訪問它們。設備獨立性的關鍵在于內核的適應能力。其他操作系統(tǒng)只允許一定數(shù)量或一定種類的外部設備連接,而具有設備獨立性的操作系統(tǒng)能夠容納任意種類及任意數(shù)量的設備,因為每一個設備都是通過其與內核的專用連接獨立進行訪問的。 Linux是具有設備獨立性的操作系統(tǒng),它的內核具有高度適應能力,隨著更多的程序員利用Linux編程,會有更多的硬件設備加入到各種Linux內核和發(fā)行版本中。另外,由于用戶可以
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 淺談linux操作系統(tǒng)的安全畢業(yè)論文
- android操作系統(tǒng)畢業(yè)論文
- 淺談操作系統(tǒng)(操作系統(tǒng)論文)
- linux操作系統(tǒng)課程論文模板
- 畢業(yè)論文---計算機安全—操作系統(tǒng)安全
- 基于LINUX的安全操作系統(tǒng).pdf
- linux操作系統(tǒng)
- 基于Linux的安全操作系統(tǒng)的研究.pdf
- linux操作系統(tǒng)安裝
- 安全Linux操作系統(tǒng)的設計與研究.pdf
- 操作系統(tǒng)linux主存管理操作系統(tǒng)實驗 5
- LINUX安全操作系統(tǒng)的研究與設計.pdf
- 智能手機的操作系統(tǒng)畢業(yè)論文
- 礦主井裝載操作系統(tǒng)的設計畢業(yè)論文
- 智能手機的操作系統(tǒng)畢業(yè)論文
- linux操作系統(tǒng)安裝教程
- linux操作系統(tǒng)課后答案
- 畢業(yè)論文---一個簡易操作系統(tǒng)的實現(xiàn)
- 操作系統(tǒng)遠程考試系統(tǒng)的設計與實現(xiàn)畢業(yè)論文
- 畢業(yè)論文-實時操作系統(tǒng)設計【精校排版】
評論
0/150
提交評論