版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
Linux操作系統(tǒng)
第一章、Linux概述
Linux概述的內(nèi)容
1.1Linux簡(jiǎn)介1.2Linux系統(tǒng)特性1.3RedHatLinux系統(tǒng)的組成1.1Linux簡(jiǎn)介何為L(zhǎng)inux?來(lái)源?類別?支持平臺(tái)?編程語(yǔ)言?Linux誕生誕生:1991.10(LinusBenedictTorvalds芬蘭人時(shí)年23歲),正確讀音[linoks](也有人讀liniks、linuks)正式版本:1992.03內(nèi)核1.0推出類別:是UNIX操作系統(tǒng)在PC機(jī)上的完整實(shí)現(xiàn)。具有UNIX的全部功能。支持硬件平臺(tái):從最初IntelX86~到目前支持所有主流平臺(tái),如PC、PowerPC、Alpha工作站、SUNSparc工作站等。編程語(yǔ)言:C語(yǔ)言是目前惟一能與WINDOWS相抗衡,又得到廣泛支持、廣泛應(yīng)用的網(wǎng)絡(luò)及桌面操作系統(tǒng)。1.1Linux簡(jiǎn)介(續(xù))Linux特點(diǎn)有哪些?Linux內(nèi)核、許多系統(tǒng)軟件、應(yīng)用軟件的源代碼是公開的。
Linux系統(tǒng)軟件和應(yīng)用軟件很多來(lái)源于GNU組織。GNU是自由軟件基金會(huì)的一個(gè)項(xiàng)目,是GNUisNotUNIX的遞歸縮寫。GPL:GeneralPublicLicense,通用公共(軟件)許可證,GPL允許軟件作者擁有版權(quán),及授予任何人合法復(fù)制、發(fā)行和修改軟件的權(quán)利。1993加入GNU。Linux是一個(gè)功能強(qiáng)大的網(wǎng)絡(luò)操作系統(tǒng),同時(shí)它是一個(gè)自由軟件,是免費(fèi)的、源代碼開放的(LinusTorvalds說(shuō):“使Linux成為GPL的一員是我一生中所做過(guò)的最漂亮的一件事”)編制它的目的是建立不受任何商品化軟件版權(quán)制約的、全世界都能自由使用的Unix兼容產(chǎn)品1.1Linux簡(jiǎn)介(續(xù))Linux功能支持多種不同格式的文件系統(tǒng)支持多種語(yǔ)言,如C、C++、Java、Lisp等。支持多種腳本語(yǔ)言,如Perl、shell等支持Xwindows系統(tǒng)及應(yīng)用程序支持多種自然語(yǔ)言,如中文、英文等支持多種大型數(shù)據(jù)庫(kù),如Oracle、Sybase、Infomax等。支持與WINDOWS操作系統(tǒng)進(jìn)行文件共享強(qiáng)大的網(wǎng)絡(luò)功能,支持多種網(wǎng)絡(luò)協(xié)議,如TCP/IP、IPX、Appletalk、NETBEUI等。1.1.1
Linux版本Linux版本分為兩類??jī)?nèi)核(kernel)版本是指在Linux領(lǐng)導(dǎo)下的開發(fā)小組開發(fā)出來(lái)的系統(tǒng)內(nèi)核版本號(hào)。目前最新內(nèi)核版本號(hào)是kernel
2.6發(fā)行(Distribution)版本以Linuxkernel為核心,搭配各種應(yīng)用程序和文檔,包裝起來(lái),并提供安裝界面和系統(tǒng)設(shè)置及管理工具,構(gòu)成發(fā)行版本。內(nèi)核(kernel)版本major.minor.patchlevel?(主版本號(hào).次版本號(hào).當(dāng)前內(nèi)核版本的修訂次數(shù))如:kernel2.4.18-14,表示對(duì)內(nèi)核2.4版本的第18次修改,修改了14處。次版本號(hào)是偶數(shù),表示內(nèi)核為穩(wěn)定發(fā)布版本,是奇數(shù),表示為不穩(wěn)定的開發(fā)版本。如:Kernel2.6.18-19,表示對(duì)內(nèi)核2.6版本的第18次修改,修改了19處。目前號(hào)稱最穩(wěn)定Linux內(nèi)核2.6.24版本發(fā)布(2008-01-25
)發(fā)行(Distribution)版本套裝軟件版本如:RedHatLinux9.0的內(nèi)核版本是2.4.20-8FedoraCore6的內(nèi)核版本是kernel-2.6.18-1.2798FedoraCore8的內(nèi)核版本是kernel-2.6.23-1.42有200多種Linux
Distribution
目前主流的Linux
DistributionRedHatLinux(FedoraCore)Mandriva(Mandrake)LinuxDebianLinuxUbuntuLinux紅旗Linux主流的Linux
Distribution西文版/國(guó)際版中文版RedHatLinux★XteramLinuxMandrakeLinux★紅旗Linux★DebianLinux★
TurboLinux中文版UbuntuLinux★BluePointLinuxSuSELinuxSlackwareLinuxTurboLinux★:桌面環(huán)境更好一些Linux的圖形界面RedHatLinux主界面RedHatLinux簡(jiǎn)介1995,BobYoung和MarcEwing創(chuàng)建官方網(wǎng)站軟件包管理系統(tǒng)Up2date(RPM),YUM(RPM)目前,RedHat分為兩個(gè)系列:RedHatEnterpriseLinux(由RedHat公司收費(fèi)技術(shù)支持和更新),適用于服務(wù)器,是個(gè)收費(fèi)的操作系統(tǒng)FedoraCore(社區(qū)開發(fā)的、免費(fèi)的、用戶數(shù)量龐大、優(yōu)秀的社區(qū)支持、版本生命同期短、版本更新快、開發(fā)初期多媒體支持不佳)2003發(fā)布FedoraCore1目前最新的是FedoraCore8,2007-11
FedoraCore4界面FedoraCore6界面最新FedoraCore8界面MandrivaLinux簡(jiǎn)介1998.7,GaelDuval創(chuàng)建并發(fā)布,前身是Mandrake官方網(wǎng)站剛開始國(guó)內(nèi)很流行軟件包管理系統(tǒng)Urpmi(RPM)MandrivaLinux主界面DebianLinux簡(jiǎn)介1993,IanMurdock創(chuàng)建,是迄今為止最遵循GNU規(guī)范的Linux系統(tǒng)軟件包管理系統(tǒng)APT(DEB),被譽(yù)為L(zhǎng)inux軟件包管理工具中最強(qiáng)大的管理工具官方網(wǎng)站特點(diǎn):GNU規(guī)范、100%免費(fèi)、強(qiáng)大的Apt-Get、安裝相對(duì)不容易DebianLinux主界面UbuntuLinux簡(jiǎn)介UbuntuLinux是一份完整的桌面Linux操作系統(tǒng),免費(fèi)獲得,并有社團(tuán)及專業(yè)支持。擁有Debian所有優(yōu)點(diǎn)。Ubuntu社團(tuán)按照Ubuntu宣言里所銘記的思想而組建:軟件應(yīng)免費(fèi)提供,軟件工具應(yīng)能以人們本地語(yǔ)種的形式可用且不犧牲任何功能,人們應(yīng)擁有定制及改變他們軟件的自由,這包括以任何他們認(rèn)為適宜的方式。Ubuntu是一個(gè)古非洲語(yǔ)單詞,意指對(duì)他人的博愛。不是香港藝人陳冠希的“博愛”UbuntuLinux發(fā)行將這種博愛之心帶到了軟件世界中。目前最新版本:UbuntuLinux7.10(2007.10.18發(fā)布)Kubuntu(KDE桌面環(huán)境)Edubuntu(LinuxforEducation,用于學(xué)校教學(xué))Xubuntu(Xfce桌面環(huán)境)Gobuntu(GNU/Linux版本)缺點(diǎn):還沒有成熟的商業(yè)模式紅旗Linux簡(jiǎn)介中文操作系統(tǒng),是中科院軟件所、北大方正、康柏聯(lián)合推出的具有自主知識(shí)產(chǎn)權(quán)的全中文的linux發(fā)行版本KDE圖形桌面環(huán)境官方網(wǎng)站紅旗Linux主界面1.1.2選擇Linux的原因Linux是一套具有Unix全部功能的免費(fèi)操作系統(tǒng)Linux不僅為用戶提供了強(qiáng)大的操作系統(tǒng)功能,而且還提供了豐富的應(yīng)用軟件Linux為廣大用戶提供了一個(gè)在家里學(xué)習(xí)和使用Unix操作系統(tǒng)的機(jī)會(huì)Linux能與現(xiàn)有存在的操作系統(tǒng)共存隨著世界頂級(jí)的IT公司(IBM、HP、Dell、Oracle、SGI、AMD、Transmeta等)的加盟,相信Linux將以更迅猛的勢(shì)頭發(fā)展,并最終成為一個(gè)多平臺(tái)的、市場(chǎng)占有率較高的、極其優(yōu)秀的網(wǎng)絡(luò)操作系統(tǒng)。1.2Linux系統(tǒng)的特性1.2.1Linux和其他系統(tǒng)的區(qū)別1.2.2Linux系統(tǒng)的特性1.2.3FedoraCore特性1、Linux和UNIX的不同Unix簡(jiǎn)介20世紀(jì)70年代,貝爾實(shí)驗(yàn)室開發(fā)出UNIX目前分為AT&TSystemV和BerkleyBSD兩個(gè)系列目前常見的UNIX版本有:SunSolaris(E45045萬(wàn),1998年)SCOUNIXHP-OSAIX注:Linux同時(shí)兼容SystemV和BSD兩種Unix系統(tǒng)1、Linux和UNIX的不同(續(xù))LINUX是免費(fèi)的,而UNIX卻極其昂貴,對(duì)于應(yīng)用程序也一樣。LINUX支持多種硬件平臺(tái),而UNIX不行,只支持特定的硬件平臺(tái)。LINUX得到了廣泛的用戶支持,而UNIX的支持卻很少。2、Linux與Windows的區(qū)別與Windows的工作方式的根本區(qū)別,也是Linux思想的核心Linux的應(yīng)用目標(biāo)是網(wǎng)絡(luò)可選的GUI文件名擴(kuò)展重新引導(dǎo)命令區(qū)分大小寫2、Linux與Windows的區(qū)別(續(xù))與Windows的類似用戶和組文件系統(tǒng)端口與設(shè)備網(wǎng)絡(luò)服務(wù)2、Linux與Windows的區(qū)別(續(xù))1.2.2Linux系統(tǒng)的特性包含了UNIX的全部功能和特性P12、13、14開放性的系統(tǒng)多用戶、多任務(wù)的系統(tǒng)提供了良好的用戶界面具有出色的穩(wěn)定性和速度性能具有可靠的系統(tǒng)安全性提供了豐富的網(wǎng)絡(luò)功能標(biāo)準(zhǔn)兼容性和可移植性免費(fèi)的、源代碼公開設(shè)備獨(dú)立性(設(shè)備當(dāng)作文件來(lái)看待)1.2.3FedoraCore特性1、FedoraCore5test1的新內(nèi)容P14
2、硬件需求P15
3、硬盤空間需求P154、內(nèi)存需求P155、FedoraCore5test1特定軟件包FedoraExtras倉(cāng)庫(kù)Audit守護(hù)進(jìn)程audit以及日志文件6、Linux內(nèi)核(kernel
2.6)FedoraCore8新特性
(2007.11)1.3RedHatLinux的組成Linux內(nèi)核(kernel)LinuxShellLinux文件結(jié)構(gòu)Linux實(shí)用工具內(nèi)核、Shell和文件系統(tǒng)一起形成了基本的操作系統(tǒng)結(jié)構(gòu)
內(nèi)核、外殼、應(yīng)用是任一OS的基本結(jié)構(gòu)Linux內(nèi)核(kernel)內(nèi)核是系統(tǒng)的心臟是運(yùn)行程序和管理磁盤和打印機(jī)等硬件設(shè)備的內(nèi)部核心程序從用戶哪里接收命令并送到內(nèi)核去執(zhí)行內(nèi)核包括進(jìn)程管理內(nèi)存管理硬件設(shè)備驅(qū)動(dòng)文件系統(tǒng)驅(qū)動(dòng)網(wǎng)絡(luò)管理等LinuxShellShell是系統(tǒng)的用戶界面,是用戶與內(nèi)核進(jìn)行交互的接口。Linux也提供可視化的GUI—XWindowsKDE和GNOME接收用戶輸入的命令并把它送入內(nèi)核去執(zhí)行。實(shí)際上Shell是一個(gè)命令解釋器,解釋用戶輸入的命令,并送到內(nèi)核。(相當(dāng)于DOS的)Linux每個(gè)用戶可以擁有自己的用戶界面或者Shell,目前主要有:P17,有哪幾種?BourneShellBASHKornshellCshellShell命令分內(nèi)部命令和外部命令Linux文件結(jié)構(gòu)文件結(jié)構(gòu)是文件存放在磁盤等存儲(chǔ)設(shè)備上的組織方法。主要表現(xiàn)在對(duì)文件和目錄的組織上。用戶可以對(duì)文件和目錄進(jìn)行權(quán)限的設(shè)置目錄采用多級(jí)樹型結(jié)構(gòu),用戶可以創(chuàng)建自己的目錄和文件所有的外設(shè)在LINUX系統(tǒng)中,也是以文件的形式表現(xiàn)。實(shí)用工具RedHatLinux的實(shí)用工具分三類編輯器用于編輯文件,主要有ED、EX、VI和EMACS過(guò)濾器用于接收數(shù)據(jù)并過(guò)濾數(shù)據(jù),主要有Filter交互程序允許用戶發(fā)送信息或接收來(lái)自其他用戶的信息2.1安裝前的準(zhǔn)備工作FedoraCore4.0安裝盤4張安裝界面有兩種字符界面安裝圖形界面安裝比較項(xiàng)目字符界面安裝圖形界面安裝適用范圍所有要安裝Linux的主機(jī)Linux支持顯示圖形的主機(jī)安裝速度快慢用戶界面字符界面,用鍵盤操作圖形界面,可用鼠標(biāo)操作2.1.1配置系統(tǒng)資源Linux與Windows在文件管理、數(shù)據(jù)結(jié)構(gòu)等方面存在很大的差異。1、個(gè)人桌面(PersonalDesktop)類圖形化界面X-Windows必須>=1.8GB磁盤空間若需KDE或GNOME必須>=2.2GB磁盤空間若選擇FedoraCore4自帶軟件包(辦公、圖形等)必須>=6.9GB磁盤空間2.1.1配置系統(tǒng)資源(續(xù))選擇個(gè)人桌面(PersonalDesktop)類時(shí),若選擇由系統(tǒng)自動(dòng)分區(qū),則會(huì)創(chuàng)建以下分區(qū):/分區(qū)根分區(qū),保存著其他所有文件(具體大小可根據(jù)磁盤容量大小來(lái)決定)/boot分區(qū)大小為100MB,保存有FedoraCore4的內(nèi)核和相關(guān)文件。Swap交換分區(qū)(最大為512MB)取決于系統(tǒng)內(nèi)存和硬盤的大小,通常不超過(guò)內(nèi)存容量的2倍。如:RAM為256MB,則SWAP分區(qū)為256MB~512MB。2.1.1配置系統(tǒng)資源(續(xù))2、工作站(Workstation)類型適合需要所有桌面環(huán)境和軟件開發(fā)工具的用戶安裝?;蛘甙寻惭b好的FedoraCore4作為工作站來(lái)使用。有兩種桌面可選:KDE(KDesktopEnvironment)WorkstationGNOME(GNUNetworkObjectModelEnvironment)Workstation不會(huì)安裝任何服務(wù)器即不會(huì)安裝WEB、FTP、DNS等服務(wù)器2.1.1配置系統(tǒng)資源(續(xù))選擇工作站(Workstation)類時(shí),會(huì)把硬盤上所有的LINUX分區(qū)全部刪除,重新劃分3個(gè)分區(qū):Swap交換分區(qū)(最大為512MB)同個(gè)人桌面方式/boot分區(qū)大小100MB,存有FedoraCore4內(nèi)核和相關(guān)文件。/分區(qū)根分區(qū),保存著其他所有文件(具體大小可根據(jù)磁盤容量大小來(lái)決定)默認(rèn)安裝(無(wú)圖形桌面),需要2.4GB;選擇GNOME或KDE安裝需要2.9GB;選擇全部安裝,則需要7GB。2.1.1配置系統(tǒng)資源(續(xù))3、服務(wù)器(Server)類服務(wù)器安裝會(huì)把硬盤上所有的分區(qū)全部刪除,不管以前硬盤上安裝過(guò)什么系統(tǒng)。因此,安裝前一定要確認(rèn)硬盤的數(shù)據(jù)完全不需要。然后將硬盤分區(qū)。Swap交換分區(qū)(最大為512MB)同個(gè)人桌面/boot分區(qū)大小100MB,存有FedoraCore4內(nèi)核和相關(guān)文件。/分區(qū)根分區(qū),保存著其他所有文件默認(rèn)安裝(無(wú)圖形桌面),需要1GB;加上X-Windows需要1.2GB;選擇全部安裝,不要圖形桌面需3.6G,要圖形桌面則需7GB。2.1.1配置系統(tǒng)資源(續(xù))4、定制(Custom)所有設(shè)置由用戶手動(dòng)安裝,包括分割磁盤、分配空間、格式化硬盤、選擇安裝組件等。適用于對(duì)LINUX比較熟悉的用戶不適用于初學(xué)者安裝2.1.2磁盤分區(qū)1、磁盤分區(qū)介紹分區(qū)是指在硬盤上建立多個(gè)單獨(dú)存儲(chǔ)區(qū)域是在物理硬盤上進(jìn)行邏輯硬盤的分割。目的是便于管理。WINDOWS系統(tǒng)中每個(gè)分區(qū)就是一個(gè)驅(qū)動(dòng)器,就有一個(gè)根目錄。目錄是森林結(jié)構(gòu)LINUX系統(tǒng)中,無(wú)論多少分區(qū),無(wú)論分區(qū)中保存什么數(shù)據(jù),都只有一個(gè)根目錄,一個(gè)獨(dú)立且惟一的文件結(jié)構(gòu)。目錄是樹結(jié)構(gòu)2.1.2磁盤分區(qū)(續(xù))LINUX中硬盤和分區(qū)的表示安裝好的FedoraCore4系統(tǒng)中,整個(gè)硬盤和每個(gè)分區(qū)都被表示為/dev目錄中的文件。與WINDOWS中不同。根據(jù)硬盤的類型,分別表示為:IDE硬盤(驅(qū)動(dòng)器標(biāo)識(shí)符為hdx*)hd表示分區(qū)所在硬盤類型為IDEX指盤號(hào)(a:基本盤,b:從盤,c:輔助主盤,d:輔助從盤)*指分區(qū),即主分區(qū)和擴(kuò)展分區(qū),從5開始就是邏輯分區(qū)。例:hda3表示主硬盤上的第3個(gè)主分區(qū)或擴(kuò)展分區(qū),hdb1表示從硬盤上的第1個(gè)主分區(qū)或擴(kuò)展分區(qū)。SCSI硬盤(驅(qū)動(dòng)器標(biāo)識(shí)符為sdx*)sd表示分區(qū)所在硬盤類型為SCSIX指盤號(hào)(a:基本盤,b:從盤,c:輔助主盤,d:輔助從盤)*指分區(qū),即主分區(qū)和擴(kuò)展分區(qū),從5開始就是邏輯分區(qū)。例:SCSI的引導(dǎo)盤使用的設(shè)備文件/dev/sda1、/dev/sda2、/dev/sda3、/dev/sda4作為主分區(qū),/dev/sda5作為擴(kuò)展分區(qū)。2.1.2磁盤分區(qū)(續(xù))2、硬盤種類及容量計(jì)算(fdisk–l)2.1.2磁盤分區(qū)(續(xù))2、硬盤種類及容量計(jì)算(fdisk–l)Heads磁盤面Sectors扇區(qū)Cylinders柱面扇區(qū)大小(512KB)硬盤容量計(jì)算(虛擬機(jī)上演示)=磁盤面數(shù)*扇區(qū)個(gè)數(shù)*每個(gè)扇區(qū)的大小*柱面?zhèn)€數(shù)如:255*63*512*2088ytes(17.1GB)2.1.2磁盤分區(qū)(續(xù))3、合理地規(guī)劃分區(qū)對(duì)于linux系統(tǒng),一個(gè)硬盤的分區(qū),一般應(yīng)該有4個(gè)主分區(qū),其中擴(kuò)展分區(qū)也算一個(gè)主分區(qū)。分區(qū)結(jié)構(gòu)14個(gè)主分區(qū),沒有擴(kuò)展分區(qū)。想劃分5個(gè)以上分區(qū)是不可能的分區(qū)結(jié)構(gòu)23個(gè)主分區(qū),1個(gè)擴(kuò)展分區(qū)。比較好,分區(qū)自由度大,分區(qū)也不受約束,能劃分5個(gè)以上分區(qū)。最合理的分區(qū)結(jié)構(gòu)主分區(qū)在前,擴(kuò)展分區(qū)在后,擴(kuò)展分區(qū)中劃分邏輯分區(qū)。主分區(qū)個(gè)數(shù)+擴(kuò)展分區(qū)個(gè)數(shù)<=42.2安裝FedoraCore4.02.2.1安裝方式(方法)1、從硬盤安裝FedoraCore4.0安裝盤拷貝到硬盤啟動(dòng)DOS進(jìn)入/dosutils子目錄執(zhí)行autoboot命令進(jìn)行安裝2、從網(wǎng)絡(luò)鏡像文件安裝FTP、SMB共享卷安裝、鏡像文件安裝等網(wǎng)絡(luò)方式安裝。3、安裝光盤啟動(dòng)計(jì)算機(jī)安裝3、光盤自啟動(dòng)安裝(1)設(shè)置BIOS啟動(dòng)順序(2)選擇安裝界面按ENTER鍵進(jìn)入圖形安裝界面★輸入linuxtext按ENTER鍵進(jìn)入文本安裝界面按功能鍵查看詳細(xì)安裝信息(3)檢測(cè)FedoraCore4.0安裝盤數(shù)據(jù)選擇OK,檢測(cè)安裝光盤的數(shù)據(jù)完整性。選擇SKIP(跳過(guò)檢測(cè)光盤數(shù)據(jù))進(jìn)入基本硬件檢測(cè),對(duì)鍵盤、顯示器等進(jìn)行檢測(cè),沒有問題進(jìn)入圖形安裝程序。圖形安裝界面單擊NEXT進(jìn)入安裝語(yǔ)言設(shè)置對(duì)話框,選擇簡(jiǎn)體中文(4)選擇安裝語(yǔ)言單擊NEXT選擇安裝類型(5)選擇安裝類型個(gè)人桌面工作站服務(wù)器定制2.2.2系統(tǒng)分區(qū)
(6)分區(qū)設(shè)置Linux使用的分區(qū)為ext格式,Windows使用的分區(qū)是FAT或NTFS格式。自動(dòng)分區(qū)手動(dòng)分區(qū)DiskDruid(7)磁盤分區(qū)FC4.0至少需要3個(gè)分區(qū),1個(gè)/根分區(qū)用于系統(tǒng),1個(gè)用于交換數(shù)據(jù)SWAP,1個(gè)BOOT分區(qū)(8)創(chuàng)建分區(qū)并掛載創(chuàng)建分區(qū)為分區(qū)設(shè)置掛載點(diǎn)為分區(qū)選擇文件類型指定分區(qū)空間大小掛載點(diǎn)(mountpoint)含義Linux系統(tǒng)正常使用的前提是必須掛載linux系統(tǒng)。目錄可以記錄文件名和文件數(shù)據(jù)的相關(guān)信息目錄也可以是和文件系統(tǒng)產(chǎn)生對(duì)應(yīng)關(guān)系的入口點(diǎn),稱入口點(diǎn)目錄為掛載點(diǎn)安裝FC4時(shí),通常要將磁盤分割成幾個(gè)部分,每個(gè)部分掛載不同的目錄。如:“/”,根分區(qū)掛載點(diǎn)設(shè)置在/dev/hda1上面?!?home”,家目錄掛載點(diǎn)設(shè)置在/dev/hda2上面。表示/home目錄下的所有子目錄,都將使用/dev/hda2分區(qū)中的空間存儲(chǔ)數(shù)據(jù)。創(chuàng)建/boot分區(qū)啟動(dòng)分區(qū),類型ext3空間100MB創(chuàng)建交換分區(qū)SWAP交換分區(qū)類型SWAP空間最多物理內(nèi)存的兩倍,不超過(guò)512MB
創(chuàng)建/根分區(qū)根分區(qū)/,用于保存安裝的系統(tǒng)文件。類型ext3分區(qū)空間根據(jù)磁盤空間大小來(lái)決定,通常是比較大。
掛載點(diǎn)下拉菜單選項(xiàng)分區(qū)類型掛載點(diǎn)說(shuō)明ext3/bootBoot中安裝Linux系統(tǒng)啟動(dòng)所需文件,所以空間較?。?00M左右)ext3/user應(yīng)用軟件存放位置,空間較大(2GB以上)ext3/home用戶宿主目錄的父目錄。(看系統(tǒng)使用人員多少,通常要考慮限量,用戶數(shù)*限量)ext3/根分區(qū)作為系統(tǒng)目錄樹的根節(jié)點(diǎn),需要較大空間ext3/var存放可變數(shù)據(jù)。(看系統(tǒng)使用人員多少,通常要考慮限量,用戶數(shù)*限量,DHCP、DNS等數(shù)據(jù))SWAP交換分區(qū)沒有掛載點(diǎn),類型為SWAP,大小通常是物理內(nèi)存的兩倍掛載點(diǎn)下拉菜單選項(xiàng)(續(xù))分區(qū)類型掛載點(diǎn)說(shuō)明ext3/bin存放標(biāo)準(zhǔn)系統(tǒng)實(shí)用程序ext3/dev存放設(shè)備文件ext3/opt存放可選的第三方安裝軟件ext3/sbin存放標(biāo)準(zhǔn)系統(tǒng)管理文件ext3/tmp用于存放臨時(shí)文件的分區(qū)。ext3/var/log系統(tǒng)日志記錄分區(qū)2.2.3網(wǎng)絡(luò)配置和其他事項(xiàng)(9)配置IP地址和子網(wǎng)掩碼若不知道IP地址,也可以在安裝后再進(jìn)行設(shè)置。(10)配置主機(jī)名、網(wǎng)關(guān)、DNS等也可以在安裝后再進(jìn)行設(shè)置。(11)配置防火墻可設(shè)置是否允許訪問服務(wù):SSH、HTTP、HTTPS、FTP、SMTP。(12)設(shè)置時(shí)區(qū)和根口令Root口令是管理員使用的口令長(zhǎng)度必須大于6個(gè)字符
(13)選擇安裝軟件包
(14)選擇語(yǔ)言支持
(15)開始安裝安裝前會(huì)檢查軟件包需要的光盤編號(hào)安裝程序開始格式化磁盤、配置文件系統(tǒng)、并將需要安裝的鏡像文件傳輸?shù)接脖P,開始安裝。
(15)安裝文件過(guò)程
安裝過(guò)程需1小時(shí)左右安裝過(guò)程中會(huì)提示更換安裝盤片號(hào)2.2.4完成安裝安裝完成,重新引導(dǎo)計(jì)算機(jī),進(jìn)入FC4登錄設(shè)置程序。安裝完成后FC4首次啟動(dòng)界面顯示系統(tǒng)設(shè)置選擇顯示器型號(hào)設(shè)置系統(tǒng)登錄用戶完成設(shè)置用戶可以登錄LINUX系統(tǒng)用戶登錄、設(shè)置登錄環(huán)境選擇桌面環(huán)境語(yǔ)言[會(huì)話]選擇桌面環(huán)境KDE、GNOME
選擇桌面環(huán)境語(yǔ)言桌面環(huán)境及桌面語(yǔ)言環(huán)境選擇后,進(jìn)入LINUX系統(tǒng)
GNOME桌面2.2.5安裝過(guò)程中的故障排除1、無(wú)法從光盤中引導(dǎo)設(shè)置BIOS順序,第一驅(qū)動(dòng)器設(shè)置為從光盤(CD-ROM)引導(dǎo)檢查光盤啟動(dòng)文件是否完整2、系統(tǒng)顯示了11號(hào)錯(cuò)誤11號(hào)錯(cuò)誤:分段錯(cuò)誤(segmentationfault),可能是硬件問題或內(nèi)存問題,通常這些錯(cuò)誤存在了RAM或CPU緩存中,解決辦法:BIOS中關(guān)閉CPU緩存內(nèi)存條調(diào)整插槽重新插好3、分區(qū)表問題確認(rèn)重要數(shù)據(jù)備份后,重新安裝,刪除所有數(shù)據(jù)4、分區(qū)問題手動(dòng)安裝分區(qū)時(shí),沒有創(chuàng)建滿足DiskDruid分區(qū)所必須的三個(gè)分區(qū)。“/”、”/boot”、SWAP分區(qū)。初學(xué)應(yīng)選擇自動(dòng)分區(qū),自動(dòng)分區(qū)通常不會(huì)出現(xiàn)這類問題2.2.6卸載FedoraCore4.0卸載FC4,將需要從硬盤的主引導(dǎo)記錄(MBR)中刪除有關(guān)啟動(dòng)引導(dǎo)GRUB或LILO信息。GRUB功能強(qiáng)大,建議使用。LILO歷史長(zhǎng),功能簡(jiǎn)單,現(xiàn)在一般不用。使用DOS、WINDOWS系統(tǒng)的fdisk(不認(rèn)識(shí)FC4的ext文件類型)無(wú)法刪除硬盤中的FC4DM、sfdisk(能識(shí)別FC4的ext文件類型)FC4安裝盤啟動(dòng)系統(tǒng),刪除系統(tǒng)分區(qū)。刪除FC4系統(tǒng)時(shí)一定要小心,確定選擇的分區(qū)沒有數(shù)據(jù),誤刪除后數(shù)據(jù)很難恢復(fù)。2.3硬盤安裝FC4已知條件FC4安裝盤ISO鏡像文件保存在硬盤上已經(jīng)安裝了WINDOWS2000或WINDOWSXP操作系統(tǒng)WINDOWS系統(tǒng)安裝在C盤上,且第一個(gè)主分區(qū)是NTFS格式要求安裝雙系統(tǒng),且通過(guò)硬盤安裝。準(zhǔn)備工作用PQMagic或NortonPartitionMagic將NTFS格式進(jìn)行數(shù)據(jù)無(wú)損轉(zhuǎn)換成FAT32格式2.3.1安裝環(huán)境的簡(jiǎn)要說(shuō)明1、關(guān)于系統(tǒng)引導(dǎo)管理器的簡(jiǎn)介系統(tǒng)引導(dǎo)管理器,相當(dāng)于一個(gè)容器,把計(jì)算機(jī)中所有系統(tǒng)的引導(dǎo)文件都裝載在管理器中,管理所有系統(tǒng)的引導(dǎo)和啟動(dòng)。系統(tǒng)引導(dǎo)管理器GRUB是一個(gè)多操作系統(tǒng)的引導(dǎo)管理器。啟動(dòng)引導(dǎo)器GRUB可以有兩種安裝位置:MBR或啟動(dòng)分區(qū)中的首扇區(qū),通常情況下要安裝到MBR,主機(jī)啟動(dòng)時(shí)就可以自動(dòng)加載啟動(dòng)引導(dǎo)器,但PC已經(jīng)安裝了WINDOWS系統(tǒng)。所以:安裝LINUX時(shí),將GRUB安裝在LINUX的啟動(dòng)分區(qū)的第一個(gè)扇區(qū)而非硬盤的MBR上。目前常用的引導(dǎo)管理器GRUB是目前所有LINUX系統(tǒng)的默認(rèn)的引導(dǎo)管理器。功能強(qiáng)大、配置簡(jiǎn)單,能引導(dǎo)LINUX,也能引導(dǎo)WINDOWS。WINGRUB是GRUB的WINDOWS版本,用法與WINDOWS的GRUB沒有多大區(qū)別LILOLILO歷史較長(zhǎng),功能簡(jiǎn)單,現(xiàn)在一般不用。YABOOT用于POWERPC架構(gòu)的機(jī)器上。2、Wingrub引導(dǎo)管理器的安裝雙擊Wingrub的安裝文件,運(yùn)行安裝程序。設(shè)置Wingrub的安裝路徑設(shè)置安裝路徑后,安裝Wingrub3、安裝GRUB打開Wingrub程序,選擇tools菜單,單擊Installgrub,出現(xiàn)對(duì)話框如圖所示直接單擊BootFromMBRPartition,打開下拉菜單,選擇LINUX要安裝的分區(qū),單攻Install即可進(jìn)行安裝GRUB。下拉列表框有(hd0,0)或(hd0,1),則選(hd0,0)若只有(hd0,1),說(shuō)明第一個(gè)分區(qū)是NTFS格式,需要轉(zhuǎn)換為FAT32。若什么都沒有,則用下面的方法配置boot.ini文件選擇SystemDrive,選C,選BootFromBOOT.INI,輸入標(biāo)題mygrub,TimeOut選30秒。單擊Install,grub就安裝好了。Grub的配置文件C:\boot\grub\menu.lst,或者C:\grub\menu.lst
兩者之間的區(qū)別BootFromMBRPartition這種方法是開機(jī)就能看到menu.lstSystemDrive這種方法是開機(jī)時(shí)要按一下mygrub,然后,才能看到menu.lst的內(nèi)容Menu.lst就是多操作系統(tǒng)的菜單2.3.2配置啟動(dòng)文件運(yùn)行wingrub,選擇tools菜單中的PartitionList,查看分區(qū)列表信息。配置啟動(dòng)文件過(guò)程1、找一個(gè)FAT32分區(qū),沒有的話要把NTFS分區(qū)進(jìn)行轉(zhuǎn)換。把下載的ISO光盤鏡像文件(共4張)放到該分區(qū)下。2、在該分區(qū)下建立一個(gè)linux目錄,從第1張ISO文件isolinux中抽取vmlinuz和initrd.img兩個(gè)文件,放到linux目錄中。需要注意的是:僅此兩個(gè)文件,放入其他文件,安裝過(guò)程中可能會(huì)退出。抽取文件時(shí)用WinRAR軟件,建立linux目錄、輸入menu.lst等必須全部是小寫,且是半角英文。否則安裝過(guò)程中會(huì)出現(xiàn)找不到文件的情況發(fā)生。3、編輯menu.lstmenu.lst的格式Timeout10開機(jī)等待進(jìn)入系統(tǒng)的時(shí)間Title后面指示開機(jī)顯示的菜單內(nèi)容Root后面指示vmlinuz和initrd.img文件所在的分區(qū)Kernel后面指示計(jì)算機(jī)使用哪里的內(nèi)核來(lái)啟動(dòng)Initrd后面指示安裝文件所在分區(qū)和目錄。#是注釋
2.3.3安裝FedoraCore配置啟動(dòng)文件編輯好后,重新啟動(dòng)計(jì)算機(jī),啟動(dòng)引導(dǎo)菜單,選擇FedoraCore的安裝啟動(dòng)選項(xiàng)進(jìn)行安裝。過(guò)程與前面介紹的基本相同。注意選擇手動(dòng)分區(qū),選自動(dòng)分區(qū)會(huì)刪除WINDOWSGRUB的安裝配置引導(dǎo)分區(qū)安裝設(shè)置MBR初學(xué)第1個(gè)扇區(qū)需要修改啟動(dòng)文件boot.ini參見P38~392.4系統(tǒng)的基本操作2.4.1引導(dǎo)Linux系統(tǒng)2.4系統(tǒng)的基本操作(續(xù))1、BIOS啟動(dòng)調(diào)用BIOS直接把LILO代碼調(diào)入內(nèi)存,跳轉(zhuǎn)執(zhí)行LILO即BIOS調(diào)入Windows/DOS下MBR代碼,由MBR代碼調(diào)入LILO代碼,對(duì)于Linux,必須保證KERNEL放在1024柱面之前,只有KERNEL啟動(dòng)后,才有讀取1024柱面以后的數(shù)據(jù)2、內(nèi)核部分LILO引導(dǎo)部分內(nèi)核,內(nèi)核解壓縮并裝入內(nèi)存后,開始初始化硬件和設(shè)備驅(qū)動(dòng)程序。最后,內(nèi)核啟動(dòng)init程序,形成系統(tǒng)的第一個(gè)進(jìn)程。2.4系統(tǒng)的基本操作(續(xù))3、從KERNEL到loginpromptKERNEL啟動(dòng)后生成第一個(gè)進(jìn)程init。Init作用是根據(jù)/etc/inittab來(lái)執(zhí)行相應(yīng)的腳本,進(jìn)行系統(tǒng)初始化。如設(shè)置鍵盤、字體、裝載模塊,設(shè)置網(wǎng)絡(luò)等。4、INIT程序部分Init程序保存在/sbin或/bin下,負(fù)責(zé)系統(tǒng)啟動(dòng)時(shí)運(yùn)行一系列程序和腳本。Init進(jìn)程是系統(tǒng)的第0號(hào)進(jìn)程。5、/etc/rc.d/rc.sysinit及/etc/rc.d/rc完成各運(yùn)行模式的系統(tǒng)初始化工作6、/sbin/mingettyInit在等待/etc/rc.d/rc執(zhí)行完畢后,在指定的各個(gè)虛擬終端上運(yùn)行/sbin/mingetty,等待用戶登錄,LINUX啟動(dòng)結(jié)束運(yùn)行Init進(jìn)程2.4.2登錄FC4系統(tǒng)啟動(dòng)細(xì)節(jié)2.4.3關(guān)閉FC4系統(tǒng)注銷對(duì)話框3.1Linux系統(tǒng)內(nèi)核簡(jiǎn)述內(nèi)核是LINUX的心臟,是在系統(tǒng)引導(dǎo)時(shí)所裝入的程序,用于提供用戶程序和硬件之間的接口,執(zhí)行發(fā)生在多任務(wù)系統(tǒng)中的實(shí)際任務(wù)轉(zhuǎn)換,處理讀寫磁盤的需求,處理網(wǎng)絡(luò)接口,以及管理內(nèi)存等。LINUX內(nèi)核精短、穩(wěn)定性高、可擴(kuò)展性好、硬件需求低、免費(fèi)、網(wǎng)絡(luò)功能豐富且適用于多種CPU。主要用作嵌入式設(shè)備、專業(yè)的路由器、防火墻、高端服務(wù)器的操作系統(tǒng)。現(xiàn)在也有很多PC的桌面系統(tǒng)也使用LINUX。3.1.1Linux內(nèi)核的版本內(nèi)核源代碼樹以linux-X.X.XX.tar.gz文件形式出現(xiàn),其中,X.X.XX為內(nèi)核的版本號(hào)。內(nèi)核版本號(hào)的形式major.minor.patchlevel主版本號(hào).次版本號(hào).當(dāng)前內(nèi)核版本的修訂次數(shù)如:RedHatLinux8.0的內(nèi)核版本為kernel2.4.18-14,表示對(duì)內(nèi)核2.4版本的第18次修改,修改了14處。再如:FedoraCore
6.0的內(nèi)核版本為Kernel2.6.18-19,表示對(duì)內(nèi)核2.6版本的第18次修改,修改了19處。版本號(hào)說(shuō)明次版本號(hào)是偶數(shù),表示內(nèi)核為穩(wěn)定發(fā)布版本,是奇數(shù),表示為不穩(wěn)定的開發(fā)版本。顯示內(nèi)核信息#uname–r內(nèi)核版本號(hào)#uname–s內(nèi)核名稱#uname–v內(nèi)核版本發(fā)布時(shí)間#uname–a所有信息3.1.2什么是內(nèi)核內(nèi)核是操作系統(tǒng)(OS)的內(nèi)在核心程序,提供了對(duì)計(jì)算機(jī)設(shè)備的管理調(diào)用功能。用戶界面是OS的外在表象。OS代碼分成兩部分內(nèi)核空間(內(nèi)核所在的地址空間)外部空間(外部管理程序與用戶進(jìn)程所占的地址空間)外部管理程序是內(nèi)核以外的統(tǒng)稱,是對(duì)外圍設(shè)備的管理和界面操作。內(nèi)核Systemcall外部程序3.1.2什么是內(nèi)核(續(xù))傳統(tǒng)的UNIX的單一內(nèi)核(monolithickernel)結(jié)構(gòu)所有OS的相關(guān)功能都被封裝在kernel中,與外部程序處于不同的內(nèi)存地址空間。通過(guò)各種方式防止外部程序直接訪問內(nèi)核結(jié)構(gòu)。內(nèi)核代碼由C語(yǔ)言編寫,所有內(nèi)核代碼都是被靜態(tài)編譯聯(lián)入。3.1.2什么是內(nèi)核(續(xù))目前流行的微內(nèi)核(microkernel)結(jié)構(gòu)OS內(nèi)核只提供最基本的、最核心的部分操作(如:創(chuàng)建和刪除任務(wù)、內(nèi)存管理、中斷管理等)其他管理程序(如:文件系統(tǒng)、網(wǎng)絡(luò)協(xié)議棧等)盡可能放在內(nèi)核之外,這些外部管理程序獨(dú)立運(yùn)行,并為外部用戶程序提供OS服務(wù),服務(wù)之間使用進(jìn)程間通信機(jī)制(IPC)進(jìn)行交互,只有在需要內(nèi)核的協(xié)助時(shí),才通過(guò)一套接口對(duì)內(nèi)核發(fā)出調(diào)用請(qǐng)求。微內(nèi)核結(jié)構(gòu)優(yōu)缺點(diǎn)優(yōu)點(diǎn):OS具有良好的靈活性、內(nèi)部結(jié)構(gòu)簡(jiǎn)單清晰、程序代碼維護(hù)方便。缺點(diǎn):內(nèi)核與獨(dú)立運(yùn)行的外部管理程序不能很好的優(yōu)化整體性能。3.1.2什么是內(nèi)核(續(xù))Linux內(nèi)核結(jié)構(gòu)的特點(diǎn)使用單一內(nèi)核結(jié)構(gòu)與傳統(tǒng)的UNIX的單一內(nèi)核結(jié)構(gòu)不同的是,LINUX可以動(dòng)態(tài)裝入和卸載內(nèi)核中的部分代碼。LINUX將這些代碼段稱為模塊(module),并給予強(qiáng)有力的支持,可根據(jù)需要自動(dòng)裝入和卸載。內(nèi)核為非搶占式的,即不能通過(guò)改變優(yōu)先權(quán)來(lái)影響內(nèi)核當(dāng)前的執(zhí)行流程。不是一個(gè)“硬”實(shí)時(shí)OS。不支持用戶態(tài)線程,LINUX通過(guò)LWP(lightweightthread)機(jī)制來(lái)實(shí)現(xiàn)用戶態(tài)線程的概念,通過(guò)系統(tǒng)調(diào)用函數(shù)clone()創(chuàng)建新的線程。3.1.3內(nèi)核的基本概念1、進(jìn)程和任務(wù)從運(yùn)行在LINUX下的進(jìn)程來(lái)看,LINUX的內(nèi)核是一個(gè)服務(wù)的提供者。單獨(dú)的進(jìn)程互相并行獨(dú)立地存在,且不能相互直接影響。每個(gè)進(jìn)程特有的內(nèi)存區(qū)域被保護(hù)起來(lái),以防止其他進(jìn)程修改。進(jìn)程的工作原理進(jìn)程就是任務(wù)(觀察角度不同)一個(gè)進(jìn)程的運(yùn)行狀態(tài)圖進(jìn)程的運(yùn)行狀態(tài)運(yùn)行狀態(tài)任務(wù)是激活的,只能通過(guò)中斷或者系統(tǒng)調(diào)用退出。中斷例程狀態(tài)當(dāng)硬件發(fā)出異常情況時(shí)(如:通過(guò)鍵盤鍵入新的字符),中斷例程處于活動(dòng)狀態(tài)。系統(tǒng)調(diào)用狀態(tài)由軟件中斷啟動(dòng)。等待狀態(tài)該狀態(tài)下的進(jìn)程在等待一個(gè)外部事件,當(dāng)外部事件出現(xiàn)后,才繼續(xù)它的工作從系統(tǒng)調(diào)用返回狀態(tài)該狀態(tài)在每次系統(tǒng)調(diào)用和某些中斷調(diào)用之后被自動(dòng)采用。就緒狀態(tài)進(jìn)程競(jìng)爭(zhēng)CPU的處理權(quán)進(jìn)程和線程進(jìn)程進(jìn)程是正在執(zhí)行的程序。程序是靜態(tài)的。在較高的層次上,進(jìn)程是一個(gè)抽象概念,是描述并發(fā)運(yùn)行的一種模型。在較低的層次上,包括進(jìn)程映像的結(jié)構(gòu)、執(zhí)行的細(xì)節(jié)和在進(jìn)程間切換處理機(jī)的方法。只要在計(jì)算機(jī)上運(yùn)行一個(gè)程序,相應(yīng)的一個(gè)進(jìn)程就誕生了,而且它伴隨著整個(gè)操作過(guò)程,直到程序終止。進(jìn)程的生命周期進(jìn)程有三種狀態(tài):就緒、執(zhí)行、等待。進(jìn)程和線程(續(xù))線程線程是在共享內(nèi)存空間中并發(fā)的多道執(zhí)行路徑,它們共享一個(gè)進(jìn)程的資源,工作在相同的內(nèi)存上。在兩個(gè)普通進(jìn)程(非線程)間進(jìn)行切換時(shí),內(nèi)核準(zhǔn)備從一個(gè)進(jìn)程的上下文切換到另一個(gè)進(jìn)程的上下文要花費(fèi)很大的開銷,切換的主要任務(wù)是保存老進(jìn)程CPU狀態(tài),并加載新進(jìn)程的保存狀態(tài),用新進(jìn)程的內(nèi)存映像替換老進(jìn)程的內(nèi)存映像。線程允許進(jìn)程在幾個(gè)正在運(yùn)行的任務(wù)之間進(jìn)行切換,而不必執(zhí)行前面提到的完整的上下文。進(jìn)程和線程(續(xù))超線程(Hyper-Threading,HT)IntelXeon處理器引入的一種新技術(shù)。對(duì)于OS來(lái)說(shuō),HT使單個(gè)CPU可以象兩個(gè)邏輯CPU那樣運(yùn)行。使用了該技術(shù),由于每個(gè)邏輯CPU可以并行執(zhí)行線程,所以它允許物理CPU同時(shí)執(zhí)行多個(gè)線程,顯著提高性能。
LINUX沒有對(duì)進(jìn)程和線程進(jìn)行區(qū)分,而是以任務(wù)來(lái)代替。但LINUX內(nèi)核從2.4版本以后,Linux對(duì)稱多處理(SMP)內(nèi)核都支持超線程。多處理器系統(tǒng)LINUX內(nèi)核從2.0版本以后,Linux支持對(duì)稱多處理(SymmetricMultiprocessor,SMP)現(xiàn)在多個(gè)CPU可以同時(shí)處理內(nèi)核代碼3.2重要的數(shù)據(jù)結(jié)構(gòu)與模塊相關(guān)的主要數(shù)據(jù)結(jié)構(gòu)modulesymbol_tablemodule用于記錄模塊的信息和相互調(diào)用關(guān)系symbol_table用于將模塊動(dòng)態(tài)鏈接到內(nèi)核,主要記錄模塊提供的函數(shù)和變量、模塊的引用信息。3.2.1內(nèi)核結(jié)構(gòu)完整的OS硬件、OS內(nèi)核、OS服務(wù)、用戶應(yīng)用程序LINUX內(nèi)核源程序放置在/usr/src/linux目錄下Arch子目錄包括了所有和體系結(jié)構(gòu)相關(guān)的內(nèi)核代碼,每個(gè)子目錄都代表一種體系結(jié)構(gòu)。Include子目錄包括編譯內(nèi)核所需要的大部分頭文件與平臺(tái)無(wú)關(guān)的頭文件include/linux目錄與IntelCPU相關(guān)的頭文件include/asm-i386目錄有關(guān)SCSI設(shè)備的頭文件include/scsi目錄Init包含內(nèi)核的初始化代碼(不是系統(tǒng)引導(dǎo)代碼),包含main.c和version.c兩個(gè)文件。這是研究?jī)?nèi)核如何工作的好的起點(diǎn)。3.2.1內(nèi)核結(jié)構(gòu)(續(xù))LINUX內(nèi)核源程序放置在/usr/src/linux目錄下Mm子目錄包括所有獨(dú)立于CPU體系結(jié)構(gòu)的內(nèi)存管理代碼。Kernel主要的內(nèi)核代碼Drivers放置系統(tǒng)所有設(shè)備的驅(qū)動(dòng)程序,每種驅(qū)動(dòng)程序占用一個(gè)代碼Scripts包含用于配置內(nèi)核的腳本文件每個(gè)目錄下都有一個(gè).depend文件和makefile文件,是編譯時(shí)使用的輔助文件。仔細(xì)閱讀這兩個(gè)文件,對(duì)搞清楚各個(gè)文件之間的聯(lián)系和依托關(guān)系很有幫助。3.2.2Linux內(nèi)核組成1、進(jìn)程調(diào)度(SCHED)SCHED控制進(jìn)程對(duì)CPU的訪問2、內(nèi)存管理(MM)MM允許多個(gè)進(jìn)程安全地共享主內(nèi)存區(qū)域,支持虛擬內(nèi)存管理。3、虛擬文件系統(tǒng)(VFS,VirtualFileSystem)VFS隱藏了各種硬件的細(xì)節(jié),為所有設(shè)備提供了統(tǒng)一的接口。VFS分兩部分:邏輯文件系統(tǒng)(ext2、ext3、FAT等)設(shè)備驅(qū)動(dòng)程序(設(shè)備驅(qū)動(dòng)模塊)4、網(wǎng)絡(luò)接口(NET)NET提供了對(duì)各種網(wǎng)絡(luò)標(biāo)準(zhǔn)存取和各種網(wǎng)絡(luò)硬件的支持。分為網(wǎng)絡(luò)協(xié)議和網(wǎng)絡(luò)驅(qū)動(dòng)程序。5、進(jìn)程間通信(IPC)IPC支持進(jìn)程間的各種通信機(jī)制3.2.2Linux內(nèi)核組成(續(xù))6、各個(gè)子系統(tǒng)之間的依賴關(guān)系內(nèi)存管理與進(jìn)程調(diào)度相互依賴進(jìn)程間通信與內(nèi)存管理虛擬文件系統(tǒng)與網(wǎng)絡(luò)接口內(nèi)存管理與虛擬文件系統(tǒng)各種過(guò)程與系統(tǒng)調(diào)用7、系統(tǒng)數(shù)據(jù)結(jié)構(gòu)(使用頻率高的)Task_structLinux內(nèi)核利用一個(gè)數(shù)據(jù)結(jié)構(gòu)(Task_struct)代表一個(gè)進(jìn)程,代表進(jìn)程的數(shù)據(jù)結(jié)構(gòu)的指針形成一個(gè)task數(shù)組。數(shù)組默認(rèn)大小是512,表明linux中同時(shí)運(yùn)行的最多進(jìn)程數(shù)。Mm_struct每個(gè)進(jìn)程的虛擬內(nèi)存由一個(gè)mm_struct結(jié)構(gòu)來(lái)代表。InodeVFS中的文件、目錄均由對(duì)應(yīng)的索引節(jié)點(diǎn)(inode)代表。3.2.2Linux內(nèi)核組成(續(xù))8、linux的具體結(jié)構(gòu)是指系統(tǒng)的實(shí)現(xiàn)結(jié)構(gòu)9、linux內(nèi)核源代碼放置在/usr/src/linux目錄下對(duì)內(nèi)核的修改是用補(bǔ)丁文件的方式發(fā)布的,patch實(shí)用程序用來(lái)對(duì)內(nèi)核源文件進(jìn)行一系列修改。例:現(xiàn)有內(nèi)核2.2.xx,想升級(jí)到2.4.18。則需要先獲得2.4.18的補(bǔ)丁文件,應(yīng)用patch來(lái)修改2.2.xx文件。#cd/usr/src/linux#patch–pl<patch-2.4.183.2.2Linux內(nèi)核組成(續(xù))10、linux內(nèi)核源代碼的結(jié)構(gòu)位于/usr/src/linux目錄下/include包含了建立內(nèi)核代碼時(shí)所需的大部分頭文件。/init包含了內(nèi)核的初始化代碼,是內(nèi)核工作的起點(diǎn)。/arch包含了所有硬件結(jié)構(gòu)相關(guān)的內(nèi)核代碼。/drivers包含了系統(tǒng)所有設(shè)備的驅(qū)動(dòng)程序。/fs包含了所有文件系統(tǒng)代碼,ext3、fat等。/net包含了內(nèi)核的聯(lián)網(wǎng)代碼。/mm包含了所有內(nèi)存管理代碼。/ipc包含了進(jìn)程間相互通信的代碼。/kernel包含了主內(nèi)核代碼。3.2.2Linux內(nèi)核組成(續(xù))11、閱讀源代碼在基于intel的系統(tǒng)上,當(dāng)loadlin.exe或者lilo把內(nèi)核裝入到內(nèi)存并把控制權(quán)傳遞給內(nèi)核時(shí),內(nèi)核開始啟動(dòng)。內(nèi)存管理位置:/mm,arch/*/mm文件:/mm/memory.c,/mm/filemap.c,/mm/buffer.c,/mm/swap_state.c,/mm/swapfile.c內(nèi)核位置:arch/*/kernel,include/linux文件:sched.c,fork.cinterrupt.h,sched.hPCI偽驅(qū)動(dòng):drivers/pci/pci.c,定義:include/linux/pci.hIPCInclude/linux/ipc.h,ipc/msg.c,ipc/shm.c,ipc/sem.c,ipc/pipe.c中斷處理代碼:arch/i386/kernel/irq.c定義:include/asm-i386/irq.h3.2.3動(dòng)態(tài)內(nèi)存管理以頁(yè)面為基礎(chǔ)管理內(nèi)存,每個(gè)頁(yè)面212字節(jié)請(qǐng)求空閑頁(yè)面structpage*_alloc_pages(intgfp_mask,unsignedlongorder);unsignedlong_get_free_pages(intgfp_mask,unsignedlongorder);/*order描述要保留的頁(yè)面數(shù)*/釋放已有的頁(yè)面void_free_pages(structpage*page,unsignedlongorder);noidfree_pages(unsignedlongaddr,unsignedlongorder);程序設(shè)計(jì)時(shí)通過(guò)malloc()、free()函數(shù)管理內(nèi)存內(nèi)核void*kmalloc(size_tsize,intflags);voidkfree(constvoid*objp)3.3算法簡(jiǎn)介算法是在有限步驟內(nèi)求解某一問題時(shí)所使用的一組定義明確的規(guī)則。解題過(guò)程中,無(wú)論是思路還是編寫程序,都是在實(shí)施某種算法。算法應(yīng)具有的特征:有窮性:一個(gè)算法必須保證執(zhí)行有限步之后結(jié)束。確切性:算法的每一步驟必須有確切的定義。輸入:有0個(gè)或多個(gè)輸入條件。輸出:對(duì)輸入進(jìn)行加工后的結(jié)果。可行性:原則上能夠精確地運(yùn)行。3.3.1信號(hào)信號(hào)的種類數(shù)目與具體的平臺(tái)有關(guān)LINUX內(nèi)核定義的常見信號(hào)值C語(yǔ)言宏名用途1SIGHUP從終端上發(fā)出的結(jié)束信號(hào)2SIGINT來(lái)自鍵盤的中斷信號(hào)(Ctrl+C)3SIGQUIT來(lái)自鍵盤的退出信號(hào)(Ctrl+\)8SIGFPE浮點(diǎn)異常信號(hào)(例如浮點(diǎn)運(yùn)算溢出)9SIGKILL該信號(hào)結(jié)束接收信號(hào)的進(jìn)程14SIGALRM進(jìn)程的定時(shí)器到期時(shí)發(fā)送該信號(hào)15SIGTERMkill命令發(fā)出的信號(hào)17SIGCHLD標(biāo)識(shí)子進(jìn)程停止或結(jié)束的信號(hào)19SIGSTOP鍵盤(Ctrl+Z)或調(diào)試程序的停止執(zhí)行信號(hào)3.3.1信號(hào)(續(xù))進(jìn)程可以選擇對(duì)某種信號(hào)所采取的特定操作忽略信號(hào):進(jìn)程可忽略產(chǎn)生的信號(hào),但SIGKILL和SIGSTOP。阻塞信號(hào):進(jìn)程可選擇阻塞某些信號(hào)。該信號(hào)通過(guò)進(jìn)程處理由內(nèi)核進(jìn)行默認(rèn)處理3.3.2Linux系統(tǒng)的中斷內(nèi)核中的中斷硬件中斷軟件中斷(異常)1、中斷的分類物理硬件設(shè)備產(chǎn)生的中斷異常陷阱系統(tǒng)調(diào)用int802、中斷的產(chǎn)生中斷事件中斷處理程序查詢狀態(tài)寄存器,針對(duì)不同的事件進(jìn)行不同的處理。3、IRQ(IRQ1~IRQ15)PC的中斷線使用前必須進(jìn)行申請(qǐng),申請(qǐng)之前輪詢看哪條中斷線有空閑。IRQ是非常寶貴的資源,占用方式有兩種:獨(dú)占、共享3.3.3定時(shí)器中斷所有OS都需要測(cè)量時(shí)間,并保持系統(tǒng)時(shí)間。系統(tǒng)時(shí)間是通過(guò)安排硬件以指定的間隔觸發(fā)中斷來(lái)實(shí)現(xiàn)的LINUX的系統(tǒng)時(shí)間以系統(tǒng)開始工作時(shí)的滴答聲測(cè)量。一個(gè)滴答聲是10ms,即定時(shí)器中斷每秒將觸發(fā)100次。定時(shí)器時(shí)鐘消耗CPU時(shí)間LINUX支持間隔定時(shí)器(與進(jìn)程相關(guān))定時(shí)器到期時(shí),會(huì)向定時(shí)器的所屬進(jìn)程發(fā)送信號(hào)。Real定時(shí)器實(shí)時(shí)更新Virtual只在進(jìn)程運(yùn)行時(shí)更新Profile內(nèi)核代表進(jìn)程運(yùn)行時(shí)更新3.3.4調(diào)度程序調(diào)度程序負(fù)責(zé)各個(gè)進(jìn)程分配處理器(占用處理器時(shí)間),有以下幾項(xiàng)內(nèi)容:各種調(diào)度類各種調(diào)度函數(shù)實(shí)時(shí)優(yōu)先級(jí)調(diào)度算法詳細(xì)內(nèi)容參見P59頁(yè),自己看。不作要求。3.4Linux操作系統(tǒng)的進(jìn)程進(jìn)程(OS進(jìn)行資源分配的單位)系統(tǒng)進(jìn)程:完成OS的各種功能的進(jìn)程,是運(yùn)行狀態(tài)下的OS本身。用戶進(jìn)程:用戶啟動(dòng)的進(jìn)程3.4.1進(jìn)程以及進(jìn)程間通信機(jī)制程序是靜態(tài)的指令和數(shù)據(jù)進(jìn)程是運(yùn)行中的、動(dòng)態(tài)的程序進(jìn)程在運(yùn)行過(guò)程中要使用許多計(jì)算機(jī)資源(CPU、RAM、文件、寄存器、IRQ等)LINUX是多任務(wù)OS,可能同時(shí)會(huì)有多個(gè)進(jìn)程使用同一資源
進(jìn)程和資源管理。進(jìn)程間的切換由調(diào)度程序完成。每個(gè)進(jìn)程都有自己的虛擬地址空間。如何避免進(jìn)程之間的相互影響,或者希望多個(gè)進(jìn)程完成同一個(gè)任務(wù),LINUX提供許多機(jī)制,利用這些機(jī)制,進(jìn)程之間可以通信共同完成某項(xiàng)任務(wù)。IPC(進(jìn)程間通信)常用的兩種機(jī)制信號(hào)管道3.4.2Linux進(jìn)程Linux內(nèi)核利用一個(gè)數(shù)據(jù)結(jié)構(gòu)(task_struct)代表一個(gè)進(jìn)程。代表進(jìn)程的數(shù)據(jù)結(jié)構(gòu)指針形成一個(gè)task數(shù)組。
task_struct結(jié)構(gòu)1、標(biāo)識(shí)號(hào):進(jìn)程標(biāo)識(shí)號(hào)惟一識(shí)別一個(gè)進(jìn)程2、狀態(tài)信息:運(yùn)行、停止、等待、僵死3、調(diào)度信息:用于調(diào)度程序完成進(jìn)程間的切換4、有關(guān)進(jìn)程間通信的信息:實(shí)現(xiàn)進(jìn)程間通信5、進(jìn)程鏈信息:父進(jìn)程、子進(jìn)程,所有進(jìn)程的根就是init進(jìn)程。6、時(shí)間和定時(shí)器:記錄進(jìn)程占用CPU的時(shí)間信息及到時(shí)告警。7、文件系統(tǒng)信息:進(jìn)程打開系統(tǒng)中的文件的描述信息8、和進(jìn)程相關(guān)的上下文信息:進(jìn)程可被看作是系統(tǒng)狀態(tài)的集合。3.4.3關(guān)于Linux線程進(jìn)程進(jìn)程是運(yùn)行中的程序,其構(gòu)成要素有:代碼、數(shù)據(jù)、堆棧、文件、I/O和虛擬內(nèi)存信息。系統(tǒng)對(duì)進(jìn)程的處理要花費(fèi)更多的資源開銷。線程(也稱輕量級(jí)進(jìn)程)進(jìn)程中指令的不同執(zhí)行路線。例:EXCEL、WORD編輯過(guò)程中,主線程處理用于錄入、編輯等工作,其他并行運(yùn)行的線程必須時(shí)可在后臺(tái)保存用戶的文檔。利用線程可共享進(jìn)程的基本要素來(lái)減輕系統(tǒng)開支。3.4.3關(guān)于Linux線程(續(xù))線程可分:用戶線程和內(nèi)核線程用戶線程不需要內(nèi)核支持,因而不占用內(nèi)核開銷。但當(dāng)一個(gè)線程因I/O處于等待狀態(tài)時(shí),整個(gè)進(jìn)程就會(huì)被調(diào)度程序切換為等待狀態(tài),其他線程得不到運(yùn)行的機(jī)會(huì)。內(nèi)核線程內(nèi)核線程需要內(nèi)核參與,由內(nèi)核完成調(diào)度,內(nèi)核線程用戶線程的上述限制,但卻占用更多的系統(tǒng)開支。3.4.3關(guān)于Linux線程(續(xù))Linux線程Linux支持內(nèi)核空間的多線程Internet上有用戶線程庫(kù)可供下載Linux線程、內(nèi)核線程的實(shí)現(xiàn)與WINDOWS等OS的內(nèi)核線程實(shí)現(xiàn)不同,WINDOWS等OS是單獨(dú)定義線程,增加了內(nèi)核和調(diào)度程序的復(fù)雜性。Linux將線程定義為“執(zhí)行上下文”,實(shí)際上只是進(jìn)程的另外一個(gè)“執(zhí)行上下文”。所以在Linux中,內(nèi)核只需區(qū)分進(jìn)程,只需一個(gè)進(jìn)程/線程數(shù)組。調(diào)度程序仍然是進(jìn)程的調(diào)度程序,Linux的clone()系統(tǒng)調(diào)用可用來(lái)建立新的線程。3.4.4會(huì)話和進(jìn)程組Linux是多用戶系統(tǒng),同一時(shí)刻系統(tǒng)中運(yùn)行有屬于不同用戶的多個(gè)進(jìn)程。如何管理呢?Linux內(nèi)核通過(guò)維護(hù)會(huì)話和進(jìn)程組而管理多用戶進(jìn)程。會(huì)話用戶從終端登錄到Linux系統(tǒng),代表一個(gè)會(huì)話開始。進(jìn)程組為完成某個(gè)任務(wù),把相關(guān)的進(jìn)程放在一個(gè)進(jìn)程組里。每個(gè)進(jìn)程是一個(gè)進(jìn)程組的成員,每個(gè)進(jìn)程組又是某個(gè)會(huì)話的成員。會(huì)話與控制終端成一一對(duì)應(yīng)關(guān)系同一會(huì)話中的進(jìn)程通過(guò)該會(huì)話的領(lǐng)頭進(jìn)程和一個(gè)終端相連。這個(gè)終端就是控制終端,一個(gè)會(huì)話只能有一個(gè)控制終端,一個(gè)終端只能控制一個(gè)會(huì)話。同一會(huì)話中只能有一個(gè)前臺(tái)進(jìn)程組。其他均是后臺(tái)進(jìn)程,可能屬于不同的后臺(tái)進(jìn)程組。3.4.5進(jìn)程調(diào)度進(jìn)程的運(yùn)行模式有兩種調(diào)度程序LINUX中無(wú)法停止當(dāng)前正在運(yùn)行的進(jìn)程,只能被動(dòng)地由調(diào)度程序?qū)⑵溥x擇為運(yùn)行進(jìn)程,或切換為等待狀態(tài)。搶先式的調(diào)度方法,每個(gè)進(jìn)程最多運(yùn)行200ms(時(shí)間片)。切換進(jìn)程的選擇,依據(jù)一定的優(yōu)先級(jí)來(lái)選擇可運(yùn)行進(jìn)程。可運(yùn)行進(jìn)程(在等待CPU資源的進(jìn)程)不可運(yùn)行進(jìn)程(在等待其他資源的進(jìn)程)進(jìn)程運(yùn)行模式用戶模式內(nèi)核模式(系統(tǒng)模式)由調(diào)度程序通過(guò)系統(tǒng)調(diào)用來(lái)切換{3.4.5進(jìn)程調(diào)度(續(xù))進(jìn)程切換進(jìn)程1:PID1Task_struct(CPU、寄存器狀態(tài)、相關(guān)指令的執(zhí)行上下文)進(jìn)程2:PID2Task_struct(CPU、寄存器狀態(tài)、相關(guān)指令的執(zhí)行上下文)調(diào)度程序切換進(jìn)程保存PID1的狀態(tài)信息恢復(fù)PID1的狀態(tài)信息3.4.5進(jìn)程調(diào)度(續(xù))進(jìn)程有兩種類型一般進(jìn)程(優(yōu)先級(jí)低)實(shí)時(shí)進(jìn)程(優(yōu)先級(jí)高)Priority(優(yōu)先級(jí))系統(tǒng)為進(jìn)程設(shè)定的優(yōu)先級(jí),實(shí)際上是允許進(jìn)程運(yùn)行的時(shí)間值,從進(jìn)程開始運(yùn)行時(shí)算起。Counter(計(jì)數(shù)器)進(jìn)程運(yùn)行的時(shí)間值,開始運(yùn)行時(shí)設(shè)置為priority(200ms),每次時(shí)鐘中斷該值減1,Rt_priority(實(shí)時(shí)優(yōu)先級(jí))系統(tǒng)為進(jìn)程設(shè)定的相對(duì)優(yōu)先級(jí)實(shí)時(shí)進(jìn)程的調(diào)度策略循環(huán)賽(roundrobin)先進(jìn)先出(firstinfirstout)Linux內(nèi)核對(duì)SMP的支持每個(gè)處理器都在運(yùn)行著進(jìn)程,當(dāng)運(yùn)行在某個(gè)處理器上的進(jìn)程耗盡其時(shí)間片或該進(jìn)程處于等待狀態(tài)時(shí),該處理器將單獨(dú)運(yùn)行調(diào)度程序來(lái)選擇新的進(jìn)程。每個(gè)處理器有個(gè)自己的空閑進(jìn)程,都有自己的當(dāng)前進(jìn)程。Task_struct結(jié)構(gòu)包含:Processor字段,當(dāng)前運(yùn)行該進(jìn)程的處理器編號(hào)Last_processor字段,上次運(yùn)行該進(jìn)程的處理器編號(hào)Processor_musk字段,該字段第N位為1,表示該進(jìn)程可以運(yùn)行在第幾個(gè)處理器上。利用該字段可以將某個(gè)進(jìn)程限制在單個(gè)處理器上運(yùn)行。3.4.6進(jìn)程的創(chuàng)建初始進(jìn)程 (P65)系統(tǒng)啟動(dòng)時(shí),啟動(dòng)進(jìn)程運(yùn)行在內(nèi)核模式,且只有這一個(gè)進(jìn)程,即初始進(jìn)程,系統(tǒng)初始化結(jié)束后,初始進(jìn)程啟動(dòng)一個(gè)內(nèi)核線程(即init),而自己則處于空循環(huán)狀態(tài),當(dāng)系統(tǒng)中沒有可運(yùn)行進(jìn)程時(shí),調(diào)度程序?qū)⑦\(yùn)行這一空閑進(jìn)程??臻e進(jìn)程的task_struct是惟一的一個(gè)非動(dòng)態(tài)分配的任務(wù)結(jié)構(gòu)。該結(jié)構(gòu)在內(nèi)核編譯時(shí)分配,稱為init_task。Init內(nèi)核線程/進(jìn)程的標(biāo)識(shí)號(hào)為1,是系統(tǒng)的第1個(gè)真正進(jìn)程,負(fù)責(zé)初始的系統(tǒng)設(shè)置工作,例如打開控制臺(tái)、掛裝文件系統(tǒng)等。接下來(lái),init進(jìn)程執(zhí)行系統(tǒng)的初始化程序(可能是/etc/init、/bin/init或/sbin/init)。3.4.6進(jìn)程的創(chuàng)建(續(xù))初始進(jìn)程 init進(jìn)程將/etc/inittab當(dāng)作腳本文件運(yùn)行以建立系統(tǒng)中新的進(jìn)程,這些新的進(jìn)程又可以建立新的進(jìn)程。例如,getty進(jìn)程可建立login進(jìn)程來(lái)接受用戶的登錄請(qǐng)求。進(jìn)程的創(chuàng)建新的進(jìn)程通過(guò)“克隆”舊的程序(當(dāng)前程序)而建立Fork和clone系統(tǒng)調(diào)用可用來(lái)建立新的進(jìn)程?!翱寺 边M(jìn)程時(shí),允許兩個(gè)進(jìn)程共享相同的資源(文件、信號(hào)處理程序、虛擬內(nèi)存等)3.4.7管道管道最常用的IPC機(jī)制,當(dāng)輸入輸出數(shù)據(jù)量很大時(shí),效率特別高。利用管道,一個(gè)進(jìn)程的輸出可直接成為另一個(gè)進(jìn)程的輸入,無(wú)需通過(guò)文件傳遞。將一個(gè)命令的輸出傳送給另一個(gè)命令,作為另一個(gè)命令的輸入。相當(dāng)于排球里的二傳手功能。管道實(shí)現(xiàn)通過(guò)將兩個(gè)file結(jié)構(gòu)指向同一個(gè)臨時(shí)的VFS索引節(jié)點(diǎn),而兩個(gè)VFS索引節(jié)點(diǎn)又指向同一個(gè)物理頁(yè)而實(shí)現(xiàn)管道。管道格式:命令1|命令2|……|命令n例如:ls–l/etc|more3.5升級(jí)內(nèi)核Linux內(nèi)核源代碼公開、漏洞修補(bǔ)、優(yōu)秀代碼加入、最新軟件技術(shù)的加入,都會(huì)導(dǎo)致內(nèi)核的快速升級(jí)。3.5.1為什么要升級(jí)內(nèi)核內(nèi)核承擔(dān)LINUX操作系統(tǒng)最核心的任務(wù),是其他程序和硬件運(yùn)行過(guò)程中的仲裁者。內(nèi)核要管理所有進(jìn)程的內(nèi)存,保證進(jìn)程都能平等地得到CPU的時(shí)隙。更新的內(nèi)核會(huì)支持更多的硬件,具備更好的進(jìn)程管理能力,運(yùn)行速度更快且更穩(wěn)定。且能修復(fù)舊版本中的漏洞。經(jīng)常升級(jí)內(nèi)核是LINUX用戶需要掌握的操作內(nèi)容。3.5.2內(nèi)核的配置與編譯LINUX支持的CPUX86、ARM、DECAlpha、SUNSparc、M68000、MIPS、PowerPC安裝過(guò)程中能自動(dòng)識(shí)別這些CPU將獲得的內(nèi)核放置在正確位置(x86型)/usr/src/linux/arch/i386/boot目錄檢查源代碼#cd/usr/src/linux;makemrproper該命令確保源代碼目錄下沒有不正確的.o文件以及文件的互相依賴。配置內(nèi)核配置命令(任選一種)#makeconfig(基于文本的最傳統(tǒng)的配置界面)#makemenuconfig(基于文本選單的配置界面)#makexconfig(基于圖形窗口模式的配置界面)#makeoldconfig(只想在原來(lái)內(nèi)核配置的基礎(chǔ)上上修改一些小地方,則用這個(gè)命令會(huì)省去不少麻煩)配置內(nèi)核(續(xù))配置選項(xiàng)大部分可使用默認(rèn)值,只有小部分需要根據(jù)用戶不同的需要進(jìn)行選擇。選擇相應(yīng)的配置Y表示將該功能編譯進(jìn)內(nèi)核N表示不將該功能編譯進(jìn)內(nèi)核M將該功能編譯成可以在需要時(shí)動(dòng)態(tài)插入到內(nèi)核中的模塊將與內(nèi)核其他部分關(guān)系較遠(yuǎn)且不經(jīng)常使用的部分功能代碼編譯成為可加載模塊有利于減少內(nèi)核的長(zhǎng)度、減少內(nèi)核消耗的內(nèi)存。內(nèi)核源代碼文件的檢驗(yàn)與編譯對(duì)內(nèi)核源代碼文件的依賴性和完整性進(jìn)行檢驗(yàn)后進(jìn)行編譯#makedep(確保關(guān)鍵文件在正確的位置)#makeclean(確保所有有關(guān)文件都處于最新版本狀態(tài))#makezImage(編譯壓縮形式的內(nèi)核)#makebzImage(編譯內(nèi)核)若選擇了可加載模塊,則編譯完內(nèi)核后,要對(duì)選擇的模塊進(jìn)行編譯#makemodule(編譯選擇的模塊)#makemodule-install(將編譯后的模塊轉(zhuǎn)移到系統(tǒng)標(biāo)準(zhǔn)位置)模塊的標(biāo)準(zhǔn)位置/lib/modules/x.y.z(版本號(hào))#Ismod列出內(nèi)核的當(dāng)前模塊4.1XWindow簡(jiǎn)介XWindow簡(jiǎn)稱X系統(tǒng),是一個(gè)可移植的GUI(圖形用戶接口)軟件設(shè)計(jì)標(biāo)準(zhǔn),不屬于OS,只是一個(gè)應(yīng)用程序。結(jié)構(gòu)與設(shè)備無(wú)關(guān),可移植性強(qiáng)。X系統(tǒng)的源代碼完全公開。事實(shí)上的工業(yè)軟件標(biāo)準(zhǔn)。適用于所有系統(tǒng)UNIX、WINDOWSXP、WINDOWSNT等。4.1XWindow簡(jiǎn)介(續(xù))4.1.1X系統(tǒng)的產(chǎn)生1984年,在美國(guó)麻省理工學(xué)院(MIT)計(jì)算機(jī)科學(xué)研究室里開始研發(fā)。MIT的BobScheifler研究分布式系統(tǒng)DEC公司的JimGettys在MIT做Athena計(jì)劃他們兩個(gè)都需要一個(gè)視窗系統(tǒng),從斯坦福大學(xué)搞了一套W的實(shí)驗(yàn)性視窗系統(tǒng)。在W的基礎(chǔ)上開發(fā),當(dāng)與W有明顯區(qū)別時(shí),他們稱新系統(tǒng)叫X系統(tǒng)。嚴(yán)格地說(shuō),X系統(tǒng)并不是一個(gè)軟件,而是一個(gè)協(xié)議,定義了一個(gè)圖形用戶界面系統(tǒng)所必須具備的功能。4.1XWindow簡(jiǎn)介(續(xù))4.1.2X系統(tǒng)的特點(diǎn)X系統(tǒng)具有網(wǎng)絡(luò)透明性通過(guò)網(wǎng)絡(luò),應(yīng)用程序在其他PC上輸出顯示就和在自己的PC上一樣容易,其通信架構(gòu)與網(wǎng)絡(luò)上的另一端PC所用的語(yǔ)言無(wú)關(guān)??芍С侄喾N不同風(fēng)格的使用界面X系統(tǒng)不是計(jì)算機(jī)作業(yè)系統(tǒng)的一部分X系統(tǒng)只是個(gè)應(yīng)用程序,很容易在不同的系統(tǒng)上進(jìn)行安裝。4.1.3XWindow與MicrosoftWindows1、相同點(diǎn)都提供圖形界面都可同時(shí)處理多個(gè)窗口程序都允許通過(guò)鍵盤和簡(jiǎn)單字符以外的其他方式完成信息交互。用戶可以利用鍵盤和鼠標(biāo)建立級(jí)聯(lián)菜單、窗體、窗口和對(duì)話框的界面。4.1.3XWindow與MicrosoftWindows(續(xù))MicrosoftWindows是完整的OS,具有從內(nèi)核到窗口環(huán)境的一切元素XWindow只是OS的一個(gè)窗口環(huán)境2、區(qū)別靈活的界面XWindow重要的概念:窗口與界面的分離完整的GUI界面由XServer和窗口管理器組成XServer建立圖形顯示、顯示窗口和鼠標(biāo)跟蹤的運(yùn)動(dòng)、按鍵與多個(gè)窗口。窗口管理器提供菜單、窗口邊框和移動(dòng)、切換、最大化、最小化窗口等機(jī)制。界面配置的微調(diào)控制(背景、窗口顏色等)采用客戶機(jī)/服務(wù)器技術(shù)在機(jī)器上運(yùn)行并與顯示器、顯卡直接交互作用的是XWindow服務(wù)器。在XWindow中的程序或應(yīng)用程序稱為客戶程序。如終端、圖形界面、管理屏幕的顯示方式。4.2XWindow系統(tǒng)4.2.1XWindow的基本組成Server(服務(wù)器)控制顯示器和輸入裝置(鍵盤、鼠標(biāo)等)的軟件,用于建立視窗、在視窗中顯示圖形影像和文字、回應(yīng)客戶機(jī)程序的需求。Client(客戶機(jī))借助Server在指定的視窗中完成特定的操作,如編輯文字、畫圖、計(jì)算器的計(jì)算等。Communicationchannel(通信通道)客戶機(jī)和服務(wù)器用來(lái)作為彼此交互的通信通道客戶機(jī)和服務(wù)器的通信分類客戶機(jī)和服務(wù)器在同一計(jì)算機(jī)上執(zhí)行彼此均可使用機(jī)器上任何可用的方法做交互處理通信IPC(inter-processcommunication)客戶機(jī)在一臺(tái)機(jī)器上執(zhí)行、顯示器和服務(wù)器在另一臺(tái)機(jī)器上執(zhí)行雙方通信必須通過(guò)網(wǎng)絡(luò)協(xié)議才可以進(jìn)行。XWindow解析服務(wù)資源為X服務(wù)器的顯示處理能力。X客戶程序要顯示圖形圖象,但不能直接控制顯示硬件,只能使用由用戶面前的X服務(wù)器提供的顯示資源。同樣X客戶也不能接受用戶輸入,也只能使用X服務(wù)器控制的鍵盤或鼠標(biāo)資源來(lái)接受輸入。X服務(wù)器是硬件的控制者,X客戶只是單純的執(zhí)行程序,只能使用X服務(wù)器提供的服務(wù)進(jìn)行輸入輸出。XWindow解析(續(xù))X服務(wù)器(XServer)是一個(gè)管理顯示的進(jìn)程,必須運(yùn)行在一個(gè)有圖形顯示能力的計(jì)算機(jī)上。理論上,一臺(tái)計(jì)算機(jī)上可以同時(shí)運(yùn)行多個(gè)X服務(wù)器,每個(gè)X服務(wù)器能管理多個(gè)與之相連的顯示設(shè)備。X客戶程序(XClient)是一個(gè)使用X服務(wù)器顯示其數(shù)據(jù)的程序,它可以運(yùn)行在與X服務(wù)器不同的計(jì)算機(jī)上。X協(xié)議(Xprotocol)是X客戶程序和服務(wù)器進(jìn)行通信的一套協(xié)議,X協(xié)議支持網(wǎng)絡(luò),能在本地系統(tǒng)中和網(wǎng)絡(luò)實(shí)現(xiàn)這個(gè)協(xié)議,支持的網(wǎng)絡(luò)協(xié)議有TCP/IP、DECnet等。XWindow窗口管理器XWindow的所有窗口形成了一個(gè)樹狀結(jié)構(gòu)。XWindow的窗口管理程序運(yùn)行在根窗口上。所有其他窗口為根窗口的子窗口,而其他窗口上也有相應(yīng)的按鈕、對(duì)話框等組件。
4.2.2文件管理器與MicrosoftWindows的文件管理程序類似,LINUX中常用的文件管理器有:1、X-Files文件管理器2、UC文件管理器(TheUNIXCockpit3.0)3、字符狀態(tài)下的文件管理工具X-Files文件管理器支持三鍵鼠標(biāo)、二鍵鼠標(biāo)4.2.3窗口管理器窗口的類型及內(nèi)容1、窗口2、風(fēng)格3、工作區(qū)域中菜單4、虛擬桌面和桌面區(qū)域5、終端窗口為用戶提供一個(gè)標(biāo)準(zhǔn)的命令行操作界面Shell提示符$或#Parted顯示分區(qū)信息Quit退出Exit退出shell6、常用窗口管理器簡(jiǎn)介FVWM虛擬的窗口管理器桌面上支持虛擬窗口,內(nèi)存開銷少。FVWM2FVWM的改進(jìn)KDEK桌面環(huán)境,也是眾多用戶看好的窗口管理器。FVWM2窗口管理器KDE桌面4.2.4硬件安裝1、系統(tǒng)驅(qū)動(dòng)程序安裝的常識(shí)安裝開發(fā)工具make、gcc、automake
安裝內(nèi)核源代碼包kernel-sourceRPM包安裝#rpm–ivhkernel-source*.rpm#rpm–ivh*.rpm4.2.4硬件安裝2、有關(guān)硬件的常識(shí)不同的硬件有不同的驅(qū)動(dòng)程序查看硬件的芯片#lspci–v3、選擇硬件驅(qū)動(dòng)程序版本4、設(shè)置顯卡下載顯卡的RPM包安裝RPM包5、配置聲卡#lspci|grepaudio檢查系統(tǒng)的聲卡型號(hào)6、使用U盤(P81)BIOS設(shè)置AssignIRQForUSB為Enable插入U(xiǎn)盤,掛載U盤到某個(gè)文件系統(tǒng)上4.3GNOME4.3.1GNOME簡(jiǎn)介GNOME是一種支持多種開發(fā)平臺(tái)的開發(fā)桌面環(huán)境??蛇\(yùn)行在:GNU/Linux、Solaris、HP-UX、BSD等是GNUNetworkObjectModelEn
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 高考數(shù)學(xué)全真模擬試題第12571期
- 江蘇省徐州市銅山區(qū)2023-2024學(xué)年九年級(jí)上學(xué)期期中物理試卷(含答案解析)
- 2024至2030年中國(guó)早茶點(diǎn)心車數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2024至2030年中國(guó)手動(dòng)平移氣調(diào)庫(kù)門行業(yè)投資前景及策略咨詢研究報(bào)告
- 2010-2012年非離子表面活性劑市場(chǎng)研究及預(yù)測(cè)分析報(bào)告
- 2024至2030年中國(guó)塑料馬甲袋數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2024至2030年中國(guó)單筒紫外線凈水器數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2024至2030年中國(guó)沖孔新型板數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2024年新疆維吾爾自治區(qū)中考語(yǔ)文試題含解析
- 2024年中國(guó)鏡架配件市場(chǎng)調(diào)查研究報(bào)告
- ESD技術(shù)要求和測(cè)試方法
- 傳感器原理溫度傳感器資料課件
- 種植支抗釘?shù)淖o(hù)理配合
- 輸液港相關(guān)護(hù)理課件
- 藝人分析報(bào)告
- 精神病監(jiān)護(hù)人責(zé)任承諾書范本
- 煤礦安全檢查工課件
- 開展買方信貸可行性報(bào)告
- 營(yíng)養(yǎng)師培訓(xùn)飲食健康與飲食指導(dǎo)
- 海洋石油平臺(tái)結(jié)構(gòu)完整性分析
- 《平衡針灸》課件
評(píng)論
0/150
提交評(píng)論