linux內核啓動_學習筆記

時間:2017.12.19
作者:李強
參考:man,info,magedu講義,萬能的internet
實驗環境:VMware® Workstation 12 Pro ,Centos 6.9,Centos 7.4,SecureCRT Version 8.1.4
聲明:以下英文純屬個人翻譯,英文B級,歡迎糾正,以下內容純屬個人理解,並沒有對錯,只是參考,盜版不糾,纔能有限,希望不誤人子弟爲好。

1、Linux組成
linux組成包括kernel+rootfs
kernel:進程管理,內存管理,網絡管理,驅動程序,文件系統,安全功能
rootfs:程序和glibc。
庫:函數的集合
程序:二進制可執行文件

內核流派:
單內核:把所有功能集成於同一個程序,如linux
微內核:把每種功能使用一個單獨子系統實現,如windows

linux內核特點:
支持模塊化:.ko(內核對象)
如:文件系統,硬件驅動,網絡協議等。
核心只有一些基本的功能模塊,這些沒有必要的模塊化,已要是用就加載,不需要不必要加載的方式動態加載卸載。
這就是linux內核核心文件很小的原因。
組成文件:
核心文件:/boot/vmlinuz-version-release 存放於此壓縮文件下。
ramdisk:輔助的僞根系統
centos5:/boot/initrd-version-release
centos6,7:/boot/initramfs-version-release
模塊文件:/lib/modules/version-release 存放於此目錄下

2、啓動過程

linux內核啓動_學習筆記
3、centos6啓動過程
首先加電,設備進行POST加電自檢,如果此時硬件檢測有問題,是進入到下一步的,這是基礎
然後假設有多塊硬盤,去讀取引導信息,可以到哪個房間,表現形式就是bios裏面的boot 選項,通常表現爲,硬盤xx,光盤xx,u盤xx等。
然後我們選擇到哪裏,否則默認,然後主板引導程序就會去找你選擇的啓動項設備的MBR的bootloader,MBR的446字節的bootloader到底存放了什麼呢。
首先bootloader這裏說是不對的,應該說這裏放置的bootloader是stage1,
引導加載器是一個程序:
windows下是ntbootloader
linux下是grub(GRand Unified Bootloader )大型統一加載器。

就像人起牀的過程,首先我們的BIOS要檢查我們的硬件是否完好,大腦心臟脊髓等等。如果有東西掛了,就說明啓動不了。
然後就是你大腦中存放了多種人格,他要決定喚醒那個人格。多個MBR
選擇了哪個人格,好那個人格要啓動的信息存放在哪裏呢。boorloader指向啓動的信息存放位置,stage1去找stage2。
stage2讓人格開始啓動起來,啓動只要其能活着就行。生命體徵正常。核心文件的事情。接着就是雞蛋的問題,
/boot/vmlinuz-version-relase . /boot/initramfs-version-release。判定一個死了沒的標準是沒有了腦電波,然後是心臟停了。
然後如果睜眼加載睜眼的模塊,如果要說話加載說話的模塊,如果走路加載走路的模塊,如果思考加載思考的模塊,這些都是沒有必要的模塊,霍金不能動,不能說話,已然可以思考稱爲偉大的物理學家。/lib/models/version-release這個是模塊的倉庫,你想要加載什麼模塊要從init初始化的腳本指定。

系統開機的快慢就和你初始化進程有關,你是從上到下慢慢來,還是分塊來,還是大家一起來。
init:5,懶牀重症患者
upstart:6,懶牀輕度患者
systemd:7,不懶牀

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章