總結Linux/Unix系統的啟動過程,如下
1.固件自檢 (BlOS)
作用:POST(Power-On Self-Test),開機自檢。
操作:檢查硬件;檢測啟動列表/啟動順序;引導進入Bootloader.
2.bootloader,載入OS
作用:Bootloader(bootstrap Operating System loader),自舉操作系統載入器。
操作:載入內核
有用的參考:Linux啟動添加內核參數簡介
3.內核---初始化和控制轉移
作用:內核(Kernel):編譯好的可執行文件在引導期載入內存中,它可以控制其他所有系統進程和進程調度器。換句話說:它控制著發生的一切事情。
操作:啟動初始化進程.
4.init進程和初始化腳本
過程:內核調度器(kenrel scheduler)-->init進程(系統的第一個進程,PID=1)-->inittab(初始化操作,通過runlevel確定)-->rc#.d(按順序執行K*,S*腳本)-->啟動終端(tty).
- 有用的參考:Linux開機程序內幕
5.交給管理員
啟動完成,該干活的干活,該吃飯的吃飯。
其實,對于系統工程師來說,啟動過程中打交道比較多是bootloader和init進程初始化。bootloader一般涉及到驅動加載和內核選取,系統修復的時候也經常用。而init進程初始化的過程常用來完成設置軟件隨系統啟動和啟動優化相關的內容。
附上最佳操作:
更詳細的解析:
Linux啟動過程綜述:http://www-128.ibm.com/developerworks/cn/linux/kernel/startup/
剖析Linux系統啟動過程:http://hi.baidu.com/tidehc/blog/item/47d74f0871ce04950b7b82fb.html
Redhat Linux 開機啟動過程:http://www.lupaworld.com/24527/viewspace_2975.html
平凡而簡單的人一個,無權無勢也無牽無掛。一路廝殺,只進不退,死而后已,豈不爽哉!
收起對“車”日行千里的羨慕;收起對“馬”左右逢緣的感嘆;目標記在心里面,向前進。一次一步,一步一腳印,跬步千里。
這個角色很適合現在的我。