軟件測試Linux系統(tǒng)啟動流程探討
linux系統(tǒng)啟動流程:
linux系統(tǒng)啟動流程,按層次分的話,可以分為內(nèi)核空間的啟動與用戶空間的啟動。
下面先說說內(nèi)核空間的啟動流程。
一個linux要跑起來,在最簡陋的情況下,必須有:kernel , lib ,application
kernel功能:加載驅(qū)動程序,內(nèi)存管理,進(jìn)程管理,文件系統(tǒng),網(wǎng)絡(luò)管理,安全管理,glibc
庫: 是一個函數(shù)的集合,每個庫文件是一個依賴于其他應(yīng)用程序才能運行起來的代碼片段。
庫頭文件:一個庫中有多少函數(shù),不同函數(shù)之差接受的參數(shù),類型不同,這些特點需要有一個文件來對其進(jìn)行描述,這種對庫中的函數(shù)的描述性文件就稱為庫文件。
application:就是平時我們用的二進(jìn)制程序了
要了解linux的啟動流程,就要先了解下面的幾個概念。
內(nèi)核的設(shè)計流派:
單內(nèi)核:緊密,效率高,牽一發(fā)而動全身。一個小的故障全局崩潰。
微內(nèi)核:離散設(shè)計,效率相對低,子系統(tǒng)故障不會影響全局。
linux為單內(nèi)核。
雖是單內(nèi)核,但卻充分吸引微內(nèi)核設(shè)計思想,將能選擇的功能,統(tǒng)統(tǒng)做成功能模塊。即使是內(nèi)核,自己也被做成模塊。一般為.ko結(jié)尾的文件。ko即kernel object。 用戶空間的功能模塊稱為share object,以.so結(jié)尾
支持模塊的在線裝卸。
內(nèi)核組成部分:
1:核心文件:/boot/vmlinuz-version-release
2: 模塊文件: /lib/modules/version-release
ramdisk: 基于內(nèi)存的磁盤。將硬盤中的mbr載入內(nèi)存,得到文件系統(tǒng)驅(qū)動程序,加載grub。進(jìn)入grub菜單。
內(nèi)核空間系統(tǒng)啟動流程解析:
post –> bios –> bootloader(引導(dǎo)從哪塊硬盤加載) –> mbr –> 加載stage2中的grub —> kernel –> init
post: poweron self test 加電自檢。自檢的過程由主板上的rom芯片自己定義。rom芯片就是傳說中的cmos。
bios : base input output system. 也是裝在rom中的一個簡單的程序,主要作用就是按用戶設(shè)置的引導(dǎo)順序,從指定的設(shè)備加載寫有bootloader的設(shè)備。
mbr:加載指定的設(shè)備后,根據(jù)mbr內(nèi)容中的stage1的指向,得知stage2的位置,并且加載stage1_5到內(nèi)存中,得到stage2所在硬件設(shè)備的驅(qū)動程序,加載驅(qū)動后能讀到stage2的內(nèi)容,即grub。
grub: grand uniform bootloader 。統(tǒng)一加載器。grub會提供一個菜單,給用戶選擇要啟動的操作系統(tǒng)的kernel。
kernel: kernel加載到內(nèi)存中后,自解壓,自初始化,探測各硬件后裝載硬件的驅(qū)動程序,以只讀方式掛載根文件系統(tǒng),并啟動init進(jìn)程。
至此,內(nèi)核空間的啟動完成了。剩下的就是用戶空間的啟動了
同類文章排行
- 五彩紛呈的故事——民族團(tuán)結(jié)心連心
- 赤峰鼎好職業(yè)技術(shù)學(xué)校2024年招生簡章
- 清明書經(jīng)典,緬懷先烈、弘揚文化!喾宥寐殬I(yè)技術(shù)學(xué)校開展清明節(jié)詩詞規(guī)范書寫
- 21級高鐵乘務(wù)專業(yè)學(xué)生實習(xí)就業(yè)
- 共建共享健康赤峰專題講座
- 全市職業(yè)院校書香校園建設(shè)現(xiàn)場會
- 晨讀
- 傳承高鐵禮儀 我們正在路上
- 市教育局黨組召開理論學(xué)習(xí)中心組“不忘初心、牢記使命”主題教育第二次專題學(xué)習(xí)研討會
- 新學(xué)期,新氣象