第九章 Linux系統(tǒng)核心及性能調(diào)整_第1頁
第九章 Linux系統(tǒng)核心及性能調(diào)整_第2頁
第九章 Linux系統(tǒng)核心及性能調(diào)整_第3頁
第九章 Linux系統(tǒng)核心及性能調(diào)整_第4頁
第九章 Linux系統(tǒng)核心及性能調(diào)整_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

基于Linux

的操作系統(tǒng)教程OperatingSystemCoursebasedonLinux第九章Linux系統(tǒng)核心及性能調(diào)整

目標(biāo):1:掌握Linux內(nèi)核配置方法2:掌握Linux內(nèi)核的編譯方法3:掌握Linux可載入模塊的生成和安裝方法4:掌握Linux內(nèi)核升級方法

第九章Linux系統(tǒng)核心及性能調(diào)整

開始2第九章Linux系統(tǒng)核心及性能調(diào)整9.1內(nèi)核簡介9.2內(nèi)核配置9.3編譯內(nèi)核

9.4可載入模塊9.5內(nèi)核補(bǔ)丁9.6本章小總結(jié)本章首頁39.1內(nèi)核簡介

內(nèi)核的實(shí)現(xiàn)結(jié)構(gòu)內(nèi)核的版本與升級

內(nèi)核源代碼的結(jié)構(gòu)

返回本章首頁4內(nèi)核的實(shí)現(xiàn)結(jié)構(gòu)

Linux的內(nèi)核不是微內(nèi)核結(jié)構(gòu),整個(gè)內(nèi)核是一個(gè)單獨(dú)的、非常大的程序。Linux的內(nèi)核分為五個(gè)子系統(tǒng),即進(jìn)程調(diào)度、內(nèi)存管理、虛擬文件系統(tǒng)、網(wǎng)絡(luò)接口和進(jìn)程間通信子系統(tǒng)。Linux的內(nèi)核的各個(gè)子系統(tǒng)都提供了內(nèi)部接口(函數(shù)和變量),子系統(tǒng)之間的通信時(shí)通過直接調(diào)用其它子系統(tǒng)中的函數(shù)實(shí)現(xiàn)的,而不是消息傳遞。Linux提供一種全新的機(jī)制——模塊,模塊可以按需動(dòng)態(tài)裝入。模塊通常是硬件設(shè)備的驅(qū)動(dòng)程序,它們是內(nèi)核的一部分。返回本節(jié)首頁5關(guān)于模塊模塊是內(nèi)核的一部分,但并沒有編譯到內(nèi)核,而是編譯并連接成一組目標(biāo)文件,這些文件能被插入到正在運(yùn)行的內(nèi)核中。因此也稱“可載入模塊”。模塊還可以是文件系統(tǒng)和二進(jìn)制文件。模塊一旦被裝入,就應(yīng)該與其它內(nèi)核代碼具有相同的權(quán)限。載入模塊需要一定的系統(tǒng)開銷。6內(nèi)核的版本與升級內(nèi)核版本號形式:主版本號.修正號.次修正號(版本修正號為偶數(shù)時(shí),常表示為發(fā)布版本;為奇數(shù)時(shí),表示為測試版本,如2.1.30)內(nèi)核源代碼開放,可以動(dòng)態(tài)升級。

返回本節(jié)首頁7需要進(jìn)行系統(tǒng)升級的情況需要最新的版本;配置內(nèi)核;增加對于硬件的支持;某些新的應(yīng)用程序需要新版內(nèi)核的支持;修正舊版本的錯(cuò)誤。8內(nèi)核源代碼的結(jié)構(gòu)Linux內(nèi)核源代碼可以用匿名ftp從網(wǎng)上下載。

Linux源代碼文件名稱一般標(biāo)記為linux-x.y.z.tag.gz,其中的x.y.z是版本號。按照慣例,Linux內(nèi)核源代碼安裝在/usr/src/linux目錄下。

返回本節(jié)首頁9如果壓縮格式是gzip,那么執(zhí)行如下命令:

#tarxvflinux-2.4.23.tar.gz如果是bzip2格式,則執(zhí)行如下命令:

#tarxvflinux-2.4.23.tar.bz210/usr/src/linux

系統(tǒng)子目錄的功能描述:/include子目錄:包含建立內(nèi)核代碼時(shí)所需要的大部分包含文件。/init:包含了內(nèi)核的初始化代碼,這是內(nèi)核的工作起點(diǎn)。/arch:包含了所有與硬件體系結(jié)構(gòu)相關(guān)的內(nèi)核代碼。/drivers:包含了內(nèi)核中所有的設(shè)備驅(qū)動(dòng)程序,如顯卡、網(wǎng)卡、PCI設(shè)備等。/fs:包含了所有文件系統(tǒng)的代碼?!?kernal:包含了主內(nèi)核的代碼,如進(jìn)程調(diào)度及進(jìn)程創(chuàng)建和撤消的代碼。119.2內(nèi)核配置

內(nèi)核配置的內(nèi)容包括系統(tǒng)硬件的類型,軟件工作環(huán)境等。配置過程:1、以root用戶登錄或切換到root用戶;2、轉(zhuǎn)入內(nèi)核源程序目錄/usr/src/linux;

3、執(zhí)行命令makeconfig

或makemenuconfig

或makexconfig返回本章首頁12用到的配置工具有:

◆config

基于交互式的文本配置界面。每個(gè)問題以線形格式出現(xiàn),并被一個(gè)一個(gè)地回答,而且一旦作出了回答就不能再修改了。

◆menuconfig

一個(gè)文本模式、選單驅(qū)動(dòng)的配置界面。

◆xconfig

基于Tcl/Tk的X圖形配置界面。

13makeconfig命令:該命令以提問的方式來決定在內(nèi)核中需要包含哪些特征:下面介紹一些常見的配置類型:一、處理器類型和特征1)processorfamily(386,486/cx486,586/k5/5x86/6x86,pentium/k6/tsc,ppro/6x86mx)[586/k5/5x86/6x86]2)Mathemulation(CONFIG_MATH_EMULATION)[N/Y/?]3)MTRR(Memorytyperangeregister)support(CONFIG_MTRR)[Y/N/?]4)symmertricmulti-processingsupport(CONFIG_SMP)[Y/N/?]14對于可載入模塊的支持1)enableloadablemodulesupport(CONFIG_MODULES)[Y/N/?]2)setversioninformationonallsymbolformodules(CONFIG_MODVERSIONS)[Y/N/?]3)kernelmoduleloader(CONFIG_KMOD)[Y/N/?]15一般性的配置(1)networkingsupport(CONFIG_NET)[Y/N/?](2)PCIsupport(CONFIG_PCI)[Y/N/?](3)kernalsupportforjavabinaries(obsolete)(CONFIG_BINFMT_JAVA)[M/N/Y/?](4)kernalsupportfora.outbinaries(CONFIG_BINFMT_AOUT)[M/N/Y/?]16在啟動(dòng)配置工具時(shí),2.6.0內(nèi)核會(huì)讀取當(dāng)前的系統(tǒng)配置,從而保持與當(dāng)前配置相同的選項(xiàng)。這個(gè)特性是為方便以后的升級工作,在內(nèi)核特性變化不大的情況下可以直接以當(dāng)前的選項(xiàng)為基礎(chǔ),省去了逐項(xiàng)配置的麻煩。有兩種方法可以讓2.6.0內(nèi)核以默認(rèn)選項(xiàng)來啟動(dòng)配置工具:一種是將當(dāng)前的配置文件/boot/config-XXX刪除;

一種是在執(zhí)行配置工具前先執(zhí)行“makedefconfig”命令。

179.3編譯內(nèi)核

清理環(huán)境:命令:makemrproper:保證舊的文件不再使用。命令:makeclean:清除不必要的文件。編譯內(nèi)核方法:

(1)makezImage:以普通方式編譯。(2)makebzImage:上一個(gè)命令失敗后,可使用。

(3)makezdisk:利用內(nèi)核鏡象生成引導(dǎo)盤。使用makeinstall安裝內(nèi)核返回本章首頁18更換內(nèi)核:需要修改/etc/lilo.conf文件手動(dòng)操作將內(nèi)核境像文件(/linux/arch/i386/boot/bzImage)拷貝到/boot分區(qū),然后修改LILO相關(guān)設(shè)置。把/usr/src/linux/arch/i386/boot/目錄內(nèi)新生成的內(nèi)核文件bzImage/zImage拷貝到/boot目錄,

然后修改/etc/lilo.conf文件,加一個(gè)啟動(dòng)選項(xiàng),使用新內(nèi)核bzImage/zImage啟動(dòng)。格式如下:19boot=/dev/hda

map=/boot/map

install=/boot/boot.b

prompt

timeout=50

linear

default=linux-new

###告訴lilo缺省使用新內(nèi)核啟動(dòng)linux###

append="mem=256M"

image=/boot/vmlinuz-2.2.14-5.0

label=linux

read-only

root=/dev/hda5

image=/boot/bzImage(zImage)

label=linux-new

read-only

root=/dev/hda5

20保留舊有的啟動(dòng)選項(xiàng)可以保證新內(nèi)核不能引導(dǎo)的情況,還可以進(jìn)入linux進(jìn)行其他操作。

保存退出后,不要忘記了最重要的一步,運(yùn)行/sbin/lilo,使修改生效

219.4可載入模塊

安裝模塊工具

生成和安裝模塊

返回本章首頁22安裝模塊工具

模塊工具可以從取得內(nèi)核的地方得到。選擇版本與當(dāng)前內(nèi)核版本相等或稍低而最接近的模塊工具安裝文件。使用命令

tar-xvfmodules-x.y.z.tar.gz

將其解開。解開后,進(jìn)入它產(chǎn)生的目錄(modules-x.y.z),查看README,按其中說明的方法進(jìn)行安裝。返回本節(jié)首頁23生成和安裝模塊的方法(1)用編譯的新內(nèi)核開機(jī)。(2)進(jìn)入目錄/usr/src/linux,執(zhí)行命令:makemodules編譯所有未配置到內(nèi)核中的模塊,并將它們鏈接到/usr/src/linux/modules。于是可以直接由此目錄使用,也可再執(zhí)行命令:makemodules_install將其安裝到目錄/lib/modules/x.y.z,其中x.y.z是內(nèi)核版本號。(3)可以用insmod、rmmod命令裝入或卸出模塊。返回本節(jié)首頁249.5內(nèi)核補(bǔ)丁

補(bǔ)丁文件比完整的內(nèi)核文件要小得多,可以使用補(bǔ)丁文件升級內(nèi)核,但是補(bǔ)丁文件只能對前一個(gè)版本升級。patch實(shí)用程序用來對內(nèi)核源文件進(jìn)行一系列的修改。

返回本章首頁259.6本章小結(jié)Linux內(nèi)核可以進(jìn)行動(dòng)態(tài)升級,也可根據(jù)具體情況,對內(nèi)核進(jìn)行配置。內(nèi)核升級或設(shè)置后,均需要進(jìn)行編譯。其設(shè)備驅(qū)動(dòng)程序和文將系統(tǒng)等可設(shè)置為可載入模塊,在需要時(shí)裝入或卸出內(nèi)核。對內(nèi)核的升級也可采取補(bǔ)丁的形式,但是內(nèi)核修補(bǔ)僅能對前一個(gè)版本進(jìn)行。返回本章首頁26補(bǔ)充內(nèi)容LINUX的包管理工具RPM:可用于構(gòu)造、安裝、查詢、檢驗(yàn)和升級、卸載軟件包。它是由文件的檔案與包信息組成,具有以下優(yōu)點(diǎn):1)可靠性2)升級3)卸載4)檢驗(yàn)5)查詢RedhatLinuxRPM的配置信息都在/var/lib/rpm目錄下27安裝包

RPM包一般都有文件名,如:some_package-2.0-1.i386.rpm。

some_package:包的名稱;2.0為包的版本號;1為包的發(fā)行號;I386意味著它為基于intel的機(jī)器。rpm–i[option]<包名>如:rpm-ivh/mnt/cdrom/redhat/RPMS/taper-6.9-6.i386.rpm-v參數(shù)用于檢驗(yàn)安裝過程,出現(xiàn)的異常會(huì)給用戶顯示出來。28升級包:包升級類似于安裝包。語法為:rpm-U[option]<包名>

如:rpm-uvh/mnt/cdrom/redhat/RPMS/taper-6.9-6.i386.rpm

RPM會(huì)自動(dòng)卸

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論