1. 程式人生 > >13.3、linux kernel介紹

13.3、linux kernel介紹

根文件系統 linu 直接 不用 sbin 啟動流程 模塊化 -- tfs

1、centos系統啟動流程:

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介紹