linux簡單介紹課件
單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版文本樣式,第二級,第三級,第四級,第五級,*,第1章 Linux系統(tǒng)概述,Linux操作系統(tǒng)是目前上升最快的操作系統(tǒng),從1991年誕生到現(xiàn)在的二十多年間,Linux逐步完善和發(fā)展。Linux操作系統(tǒng)在服務(wù)器、嵌入式等方向獲得了長足的發(fā)展,并在個人操作系統(tǒng)方面有著大范圍的應(yīng)用,這主要得益于其開放性。本章對Linux的發(fā)展進(jìn)行介紹,主要包含如下幾個方面:,Linux發(fā)展的歷史,以時間為主線對Linux的誕生進(jìn)行介紹;,分析Linux和UNIX操作系統(tǒng)的異同;,介紹常用的幾種Linux發(fā)行版本的特點;,對Linux操作系統(tǒng)的系統(tǒng)架構(gòu)進(jìn)行簡單的介紹;,介紹了GNU通用公共許可證及其特點。,1.1 Linux發(fā)展歷史,Linux操作系統(tǒng)于1991年誕生,目前已經(jīng)成為主流的操作系統(tǒng)之一。其版本從開始的0.01版本到目前的2.6.28.4版本經(jīng)歷了20多年的發(fā)展,從最初的蹣跚學(xué)步的嬰兒成長為目前在服務(wù)器、嵌入式系統(tǒng)和個人計算機(jī)等多個方面得到廣泛應(yīng)用的操作系統(tǒng)。,1.1.1 Linux的誕生和發(fā)展,Linux的誕生和發(fā)展與個人計算機(jī)的發(fā)展歷程是緊密相關(guān)的,特別是隨著Intel的i386個人計算機(jī)的發(fā)展而逐步成熟。在1981年之前沒有個人計算機(jī),計算機(jī)是大型企業(yè)和政府部門才能使用的昂貴設(shè)備。IBM公司在1981年推出了個人計算機(jī)IBM PC,從而造成個人計算機(jī)的發(fā)展和普及。剛開始的時候,微軟幫助IBM公司開發(fā)的MS-DOS操作系統(tǒng)在個人計算機(jī)中占有統(tǒng)治地位。隨著IT行業(yè)的發(fā)展,個人計算機(jī)的硬件價格雖然逐年在下降,但是軟件特別是操作系統(tǒng)的價格一直居高不下。,與個人計算機(jī)對應(yīng),在大型機(jī)上的主流操作系統(tǒng)是UNIX,而UNIX操作系統(tǒng)對操作系統(tǒng)的發(fā)展有諸多障礙:,UNIX的經(jīng)銷商為了尋求高利率,將價格抬得很高,個人計算機(jī)的用戶就根本不能靠近它,不利于操作系統(tǒng)的普及。,1.1.2 Linux名稱的由來,Linux操作系統(tǒng)的名稱最初并沒有被稱作Linux。Linus給他的操作系統(tǒng)取的名字是Freax,這個單詞的含義是怪誕的、怪物、異想天開的意思。當(dāng)Torvalds將他的操作系統(tǒng)上傳到服務(wù)器ftp.funet.fi上的時候,這個服務(wù)器的管理員Ari Lemke對Freax這個名稱很不贊成,所以將操作系統(tǒng)的名稱改為了Linus的諧音Linux,于是這個操作系統(tǒng)的名稱就以Linux流傳下來。,在Linus的自傳Just for Fun一書中,Linus解釋說:“Ari Lemke,他十分不喜歡Freax這個名字。倒喜歡我當(dāng)時正在使用的另一個名字Linux,并把我的郵件路徑命名為pub OS/Linux。我承認(rèn)我并沒有太堅持。但這一切都是他搞的。所以我既可以不慚愧地說自己不是那么以個人為中心,但是也有一點個人的榮譽(yù)感。而且個人認(rèn)為,Linux是個不錯的名字?!睂嶋H上,在早期的源文件中仍然使用Freax作為操作系統(tǒng)的名字,可以從Makefile文件中看出此名稱的一些蛛絲馬跡。,1.2 Linux的發(fā)展要素,Linux操作系統(tǒng)是UNIX的一種典型的克隆系統(tǒng)。在Linux誕生之后,借助于Internet網(wǎng)絡(luò),在全世界計算機(jī)愛好者的共同努力下,成為目前世界上使用者最多的一種類UNIX操作系統(tǒng)。在Linux操作系統(tǒng)的誕生、成長和發(fā)展過程中,如下五個方面起了重要的作用:UNIX操作系統(tǒng)、Minix操作系統(tǒng)、GNU計劃、POSIX標(biāo)準(zhǔn)和Internet網(wǎng)絡(luò)。,1.2.1 UNIX操作系統(tǒng),UNIX操作系統(tǒng)于1969年在Bell實驗室誕生,它是美國貝爾實驗室的Ken.Thompson和Dennis Ritchie在DEC PDP-7小型計算機(jī)系統(tǒng)上開發(fā)的一種分時操作系統(tǒng)。,Ken Thompson開發(fā)UNIX操作系統(tǒng)的初衷是為了能在一臺閑置的PDP-7計算機(jī)上運(yùn)行星際旅行游戲,他在1969年夏天花費一個月的時間開發(fā)出了UNIX操作系統(tǒng)的原型。最開始,開發(fā)UNIX操作系統(tǒng)使用的是BCPL語言(即通常所說的B語言),后來Dennis Ritchie于1972年使用C語言對UNIX操作系統(tǒng)進(jìn)行了改寫。同時UNIX操作系統(tǒng)在大學(xué)中得到廣泛的推廣,并將UNIX的授權(quán)分發(fā)給多個商業(yè)公司。,Linux是一種UNIX的克隆系統(tǒng),采用了幾乎一致的系統(tǒng)API接口。特別是網(wǎng)絡(luò)方面,二者的接口的應(yīng)用程序幾乎完全一致。,1.2.2 MINIX操作系統(tǒng),Minix操作系統(tǒng)也是UNIX操作系統(tǒng)的一種克隆系統(tǒng),它由荷蘭Amsterdam的Vrije大學(xué)著名教授Andrew S.Tanenbaum于1987年開發(fā)完成。Minux操作系統(tǒng)目的主要用于學(xué)生學(xué)習(xí)操作系統(tǒng)原理時教學(xué)使用。在當(dāng)時Minix操作系統(tǒng)在大學(xué)中使用是免費的,但是其他用途則需要收費。目前Minix操作系統(tǒng)已經(jīng)都是免費的,可以從許多FTP上下載,目前主要有1.5版本和2.0版本在使用。,由于Minix操作系統(tǒng)提供源代碼,并且與操作系統(tǒng)相結(jié)合,有一本高質(zhì)量的書籍介紹其實現(xiàn)原理,在當(dāng)時全世界的大學(xué)中形成了學(xué)習(xí)Minix操作系統(tǒng)的風(fēng)氣,Linus剛開始就是參照此系統(tǒng)在1991年開始開發(fā)Linux的。,1.2.3 POSIX 標(biāo)準(zhǔn),POSIX(Portable Operating System Interface for Computing Systems)是由IEEE和ISO/IEC開發(fā)的一套標(biāo)準(zhǔn)。POSIX標(biāo)準(zhǔn)是對UNIX操作系統(tǒng)的經(jīng)驗和實踐的總結(jié),對操作系統(tǒng)系統(tǒng)調(diào)用的服務(wù)接口進(jìn)行了標(biāo)準(zhǔn)化,保證所編制的應(yīng)用程序在源代碼一級可以在多種操作系統(tǒng)上進(jìn)行移植。,在90年代初,POSIX標(biāo)準(zhǔn)的制定處于最后確定的投票階段,而Linux正處于開始的誕生時期。作為一個指導(dǎo)性的綱領(lǐng)性標(biāo)準(zhǔn),Linux的接口與POSIX相兼容。,1.3 Linux與UNIX異同,Linux是UNIX操作系統(tǒng)的一個克隆系統(tǒng),沒有UNIX就沒有Linux。但是,Linux和傳統(tǒng)的UNIX有很大的不同,兩者之間的最大區(qū)別是關(guān)于版權(quán)方面的:Linux是開放源代碼的自由軟件,而UNIX是對源代碼實行知識產(chǎn)權(quán)保護(hù)的傳統(tǒng)商業(yè)軟件。兩者之間還存在如下的區(qū)別:,UNIX操作系統(tǒng)大多數(shù)是與硬件配套的,操作系統(tǒng)與硬件進(jìn)行了綁定;而Linux則可運(yùn)行在多種硬件平臺上,UNIX操作系統(tǒng)是一種商業(yè)軟件(授權(quán)費大約為5萬美元);而Linux操作提供則是一種自由軟件,是免費的,并且公開源代碼。,UNIX的歷史要比Linux悠久,但是Linux操作系統(tǒng)由于吸取了其他操作系統(tǒng)的經(jīng)驗,其設(shè)計思想雖然源于UNIX但是要優(yōu)于UNIX。,1.4 操作系統(tǒng)類型選擇和內(nèi)核版本的選擇,要在Linux環(huán)境下進(jìn)行程序設(shè)計,首先要選擇合適的Linux發(fā)行版本和Linux的內(nèi)核,選擇一款適合自己的Linux操作系統(tǒng)。本節(jié)對常用的發(fā)行版本和Linux內(nèi)核的選擇進(jìn)行了介紹,并簡要講解了如何定制自己的Linux操作系統(tǒng)。,1.4.1 常見不同公司發(fā)行的Linux的異同,Linux的發(fā)行版本眾多,曾有人收集過超過300種的發(fā)行版本。當(dāng)然,不能在本書中介紹眾多的發(fā)行版特點,這超出了本書的范圍。,版本名稱,網(wǎng)址,特點,軟件包管理器,Debian Linux,www.debian.org,開放的開發(fā)模式,并且易于進(jìn)行軟件包升級,apt,Fedora Core,,擁有數(shù)量龐大的用戶,優(yōu)秀的社區(qū)技術(shù)支持,并且有許多創(chuàng)新,up2date,(,rpm),,,yum,(,rpm,),CentOS,www.centos.org,CentOS,是一種對,RHEL,(,Red Hat Enterprise Linux,)源代碼再編譯的產(chǎn)物,由于,Linux,是開發(fā)源代碼的操作系統(tǒng)并不排斥基于源代碼的再分發(fā),,CentOS,就是將商業(yè)的,Linux,操作系統(tǒng),RHEL,進(jìn)行源代碼在編譯后分發(fā),并在,RHEL,的基礎(chǔ)上修正了不少已知的,Bug,rpm,SUSE Linux,,專業(yè)的操作系統(tǒng),易用的,YaST,軟件包管理系統(tǒng)開放。,YaST,(,rpm,),第三方,apt,(,rpm,)軟件庫(,repository,),Mandriva,,操作界面友好,使用圖形配置工具,有龐大的社區(qū)進(jìn)行技術(shù)支持,支持,NTFS,分區(qū)的大小變更,rpm,KNOPPIX,,可以直接在,CD,上運(yùn)行,具有優(yōu)秀的硬件檢測和適配能力,可作為系統(tǒng)的急救盤使用,apt,Gentoo Linux,www.gentoo.org,高度的可定制性,使用手冊完整,portage,Ubuntu,,優(yōu)秀易用的桌面環(huán)境,基于,Debian,的不穩(wěn)定版本構(gòu)建,apt,1.4.2 內(nèi)核版本的選擇,內(nèi)核是Linux操作系統(tǒng)的最重要的部分,從最初的0.95版本到目前的2.6.28.4版本,Linux內(nèi)核開發(fā)經(jīng)過了近20年的時間,其架構(gòu)已經(jīng)十分穩(wěn)定。Linux內(nèi)核的編號采用如下編號形式:,主版本號.次版本號.主補(bǔ)丁號.次補(bǔ)丁號,Linux內(nèi)核版本的開發(fā)源代碼樹目前比較通用的是2.6.xx的版本,當(dāng)然,有部分2.4的版本仍在使用。與2.4版本的內(nèi)核相比較,2.6版本內(nèi)核具有如下的優(yōu)勢:,支持絕大多數(shù)的嵌入式系統(tǒng),加入了之前嵌入式系統(tǒng)經(jīng)常使用的Clinux的大部分代碼,并且子系統(tǒng)的支持更加細(xì)化可以支持硬件體系結(jié)構(gòu)的多樣性,可搶占內(nèi)核的調(diào)度方式支持實時系統(tǒng),可定制內(nèi)核。,1.5 Linux的系統(tǒng)架構(gòu),Linux系統(tǒng)從應(yīng)用角度來看,分為內(nèi)核空間和用戶空間兩個部分。內(nèi)核空間是Linux操作系統(tǒng)的主要部分,但是僅有內(nèi)核的操作系統(tǒng)是不能完成用戶任務(wù)的。豐富并且功能強(qiáng)大的應(yīng)用程序包是一個操作系統(tǒng)成功的必要條件。,1.5.1 Linux內(nèi)核的主要模塊,Linux的內(nèi)核主要由5個子系統(tǒng)組成:進(jìn)程調(diào)度、內(nèi)存管理、虛擬文件系統(tǒng)、網(wǎng)絡(luò)接口、進(jìn)程間通信。下面依次講解這五個子系統(tǒng)。,1進(jìn)程調(diào)度SCHED,2內(nèi)存管理MMU,3虛擬文件系統(tǒng)VFS,4網(wǎng)絡(luò)接口,5進(jìn)程間通訊,1.5.2 Linux的文件結(jié)構(gòu),與Windows下的文件組織結(jié)構(gòu)不同,Linux不使用磁盤分區(qū)符號來訪問文件系統(tǒng),而是將整個文件系統(tǒng)表示成樹狀的結(jié)構(gòu),Linux系統(tǒng)每增加一個文件系統(tǒng)都會將其加入到這個樹中。,操作系統(tǒng)文件結(jié)構(gòu)的開始,只有一個單獨的頂級目錄結(jié)構(gòu),叫做根目錄。所有一切都從“根”開始,用“/”代表,并且延伸到子目錄。DOS/Windows下文件系統(tǒng)按照磁盤分區(qū)的概念分類,目錄都存于分區(qū)上。Linux則通過“掛接”的方式把所有分區(qū)都放置在“根”下各個目錄里。,1.5.2 Linux的文件結(jié)構(gòu),1.6 GNU通用公共許可證,GNU通用公共許可證(簡稱為GPL)是由自由軟件基金會發(fā)行的用于計算機(jī)軟件的一種許可證制度。GPL最初是由Richard Stallman為GNU計劃而撰寫。目前,GNU通行證被決大多數(shù)的GNU程序和超過半數(shù)的自由軟件采用。此許可證最新版本為“版本3”,于2007年發(fā)布。GNU寬通用公共許可證(簡稱LGPL)是由GPL衍生出的許可證,被用于一些GNU程序庫。,1.6.1 GPL許可證的歷史,GPL的“版本1”,在1989年1月誕生。在1990年時,因為一些共享庫的使用而出現(xiàn)了對GPL許可證制度更為寬松的需求,在GPL“版本2”在1991年6月發(fā)布時,另一許可證庫通用許可證(Library General Public License,簡稱LGPL)也隨之發(fā)布,并記作“版本2”以示對GPL的補(bǔ)充。在LGPL版本2.1發(fā)布時與GPL版本不再對應(yīng),而LGPL也被重命名為GNU寬通用公共許可證(Lesser General Public License)。,相對于GPLv2,主要有四個不同的方面:,數(shù)字版權(quán)問題。,專利擴(kuò)散許可。,衍生產(chǎn)品的定義。,GPLv3協(xié)議于其他協(xié)議的兼容問題。,1.6.2 GPL的自由理念,軟件的版權(quán)保護(hù)機(jī)制在保護(hù)發(fā)明人權(quán)益的同時,對軟件的技術(shù)進(jìn)步造成了影響。版權(quán)所有軟件的最終用戶幾乎不能從所購買的軟件中得到任何軟件設(shè)計相關(guān)的權(quán)利(除了使用的權(quán)利),甚至可能限制像逆向工程等法律允許范圍內(nèi)的行為。與此