13.3、linux kernel介紹
post(檢測硬件環境)--->bootloader(根據bios中的設置去查找從哪個設備啟動,然後根據選擇的設備上的mbr去引導grub的第一階段,啟動系統)--->加載內核(運行放置於initrd中的內核鏡像)--->roofs(以只讀方式掛載根文件系統)--->switchroot(根切換為正式的root根文件系統)--->/sbin/init(用戶空間的第一個程序)
2、內核設計體系:單內核設計、微內核設計兩種
linux屬於單內核設計,但是它充分借鑒了微內核體系的設計優點(為內核引入了模塊化機制)
3、linux內核的組成部分:
主要有三部分:vmlinuz(內核的核心)、kernel object(內核對象)、ramdisk(輔助性文件)
3.1、vmlinuz:內核的核心 vmlinuz一般為bzimage壓縮的文件;通常位於/boot目錄下,名稱為:vmlinuz-version-release |
3.2、kernel object:內核對象 kernel object內核對象即內核模塊,一般放置於//lib/modules/version-release //註意:內核模塊的版本號version-release信息必須和內核核心文件的版本號一致 內核模塊的選擇: [ ] :N,不編譯內核模塊 [M]:modules,編譯為內核模塊,用到時編譯內核模塊,不用時則不編譯,這樣做的好處是:雖然占用了磁盤了空間,但是減少了內存空間的占用 [*]:Y,編譯進內核核心,這樣做的好處是:節省了裝載內核模塊時間。
|
3.3、ramdisk:輔助性文件,並非必須的,這取決於內核是否能直接驅動rootfs所在的設備,如果可以則不需要,否則需要此文件。 ramdisk能夠加載的驅動: 目標設備驅動:如scsi設備的驅動 邏輯設備驅動:如lvm設備的驅動 文件系統:如xfs文件系統的驅動 ramdisk是一個簡裝版的根文件系統,它是放在內存中的,它僅僅是為了能夠找到真正的根文件系統存在的,真正根文件系統放在硬盤中,數據不會丟失。 |
註意:當看到系統啟動完成後,內核已經加載完成了,我們看到的內核文件是靜態的,此時修改內核文件,不會立即生效,重啟後才生效。
4、內核信息查看:
4.1、
13.3、linux kernel介紹