-
加電之后載入 Bios ( base input output system )
- 載入CMOS信息,此信息放在ROM中。CMOS中的信息由紐扣電池供電。
- 自我檢測,檢測硬件信息是否正常和完善
- 確定開機設備順序
-
確定開機設備之后,到應的設備上找 MBR ( master boot record )分區(通過 INT13 信道中斷查找硬盤的),找到 MBR 分區后,將后續的操作交給 MBR ,由 MBR 分區中的 boot loader 程序指導后續的流程。
linux:boot loader分為:
- LILO:Linux loader
-
Grub:Grand unique BootLoader
- stage1:MBR
- stage1.5:識別常用的不同文件系統
- stage2:引導內核的
- 提供菜單,讓用戶選擇從哪個loader啟動。
- 載入內核,后續的所有操作由內核指導
- 轉交loader,可以將loader轉交給其他的loader(windows不提供轉交也不讓別人轉交它,win8以后鎖死MBR分區。只能安裝windows的多系統,不能安裝其他系統,不提供其他系統的loader選擇權)
-
loader 通過根引用方式,找到內核文件,啟動內核。內核啟動之后,需要加載驅動,進一步需要識別硬盤信息,需要識別驅動信息就要加載驅動(死循環)。其實內核會加載一個虛擬文件系統(主要放的就是硬盤之類的驅動),識別到真實硬盤之后,重新掛載真實的根。
虛擬文件系統:
是系統安裝完成后自動生成,里面主要包含驅動對應啟動設備所需的驅動信息。它是一個文件,在內存中以硬盤的方式存在,故也成為ramdisk(red hat5) ramfs(red hat6)
ramdisk---initrd
ramfs------initramfs
linux 設計風格
單內核:打包成一起---半模塊化(動態加載外圍設備)---linux
- 內核KO kernel object
- 共享SO share object
微內核:模塊化---windows、solaris
由於協調復雜,linux沒有使用這種內核機制
linux運行級別
- 0:halt關機
- 1:單用戶模式啟動,直接以管理員身份切入
- 2:多用戶模式,不啟用NFS
- 3:多用戶模式,不啟動圖形界面
- 4:保留模式
- 5:多用戶模式,啟動圖形界面
- 6:reboot重啟