版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年機(jī)器學(xué)習(xí)工程師進(jìn)階考試題目
- 2026年工業(yè)自動(dòng)化技術(shù)安全規(guī)范測試題
- 2026年地理基礎(chǔ)知識測驗(yàn)題目
- 2026年航空模型表演合同
- 2025-2026學(xué)年湖北省黃梅縣育才高級中學(xué)高一上學(xué)期1月月考英語試題
- 2025年四川建筑職業(yè)技術(shù)學(xué)院馬克思主義基本原理概論期末考試模擬題附答案解析(奪冠)
- 2025年河曲縣幼兒園教師招教考試備考題庫附答案解析(奪冠)
- 2025年新疆科信職業(yè)技術(shù)學(xué)院單招綜合素質(zhì)考試題庫附答案解析
- 2025年貴州開放大學(xué)馬克思主義基本原理概論期末考試模擬題帶答案解析(必刷)
- 2025年福州黎明職業(yè)技術(shù)學(xué)院單招職業(yè)適應(yīng)性測試題庫附答案解析
- 煤礦春節(jié)放假期間的工作方案及安全技術(shù)措施
- GB/T 5076-2025具有兩個(gè)軸向引出端的圓柱體元件的尺寸測量
- GB/T 46568.1-2025智能儀器儀表可靠性第1部分:可靠性試驗(yàn)與評估方法
- 幼兒園教育活動(dòng)座位擺放指南
- 水池土建施工方案
- 2025中好建造(安徽)科技有限公司第二次社會(huì)招聘13人筆試考試備考試題及答案解析
- 移動(dòng)支付安全體系架構(gòu)-洞察與解讀
- 水泵維修安全知識培訓(xùn)課件
- DB43∕T 1358-2017 地質(zhì)災(zāi)害治理工程質(zhì)量驗(yàn)收規(guī)范
- 軍犬的訓(xùn)練考試題及答案
- 臨床病區(qū)藥品管理試題及答案2025年版
評論
0/150
提交評論