新聞中心
linux INIT代碼是操作系統(tǒng)Linux中最重要的部分之一,它是操作系統(tǒng)啟動后和用戶登錄前的過渡環(huán)節(jié),主要負(fù)責(zé)加載硬件設(shè)備驅(qū)動程序和核心模塊,加載配置文件和外部服務(wù),以及配置和映射內(nèi)存等,是操作系統(tǒng)的正確運(yùn)行的基礎(chǔ)。那么本文就講講linux init代碼的深入分析。

成都創(chuàng)新互聯(lián)是一家專注網(wǎng)站建設(shè)、網(wǎng)絡(luò)營銷策劃、成都小程序開發(fā)、電子商務(wù)建設(shè)、網(wǎng)絡(luò)推廣、移動互聯(lián)開發(fā)、研究、服務(wù)為一體的技術(shù)型公司。公司成立十多年以來,已經(jīng)為上千家自上料攪拌車各業(yè)的企業(yè)公司提供互聯(lián)網(wǎng)服務(wù)?,F(xiàn)在,服務(wù)的上千家客戶與我們一路同行,見證我們的成長;未來,我們一起分享成功的喜悅。
首先,我們來看看Linux Init代碼的框架構(gòu)成,它是由init進(jìn)程驅(qū)動的,其中init進(jìn)程是Linux操作系統(tǒng)中最核心的一個(gè)程序,用于啟動系統(tǒng)內(nèi)核初始化和加載外部服務(wù),這一過程大致可分為以下3個(gè)步驟:
第一步,init進(jìn)程從/etc/inittab文件加載并啟動其他進(jìn)程;第二步,init進(jìn)程從/etc/init.d目錄下加載用戶自定義的服務(wù)腳本;第三步,init進(jìn)程從/etc/rc?.d目錄啟動系統(tǒng)的運(yùn)行級別(Runlevel)服務(wù)。
其次,可以看看Linux Init代碼具體的實(shí)現(xiàn)過程:
1. init進(jìn)程從/etc/inittab文件加載并啟動其他進(jìn)程:
init進(jìn)程實(shí)際上讀取/etc/inittab文件并解析配置參數(shù),根據(jù)配置內(nèi)容啟動其他進(jìn)程。
例如:
::sysinit:/etc/rc.d/rc.sysinit
該配置行告訴init進(jìn)程,當(dāng)系統(tǒng)剛啟動完畢后它需要調(diào)用/etc/rc.d/rc.sysinit進(jìn)行系統(tǒng)初始化。
2. init進(jìn)程從/etc/init.d目錄下加載用戶自定義的服務(wù)腳本:
init進(jìn)程會檢查/etc/init.d目錄下是否存在用戶自定義的服務(wù)腳本,例如Apache、SSH等,并會按照默認(rèn)的規(guī)則去加載和運(yùn)行對應(yīng)的服務(wù)腳本來啟動相應(yīng)的服務(wù)。
3. init進(jìn)程從/etc/rc?.d目錄啟動系統(tǒng)的運(yùn)行級別(Runlevel)服務(wù):
init進(jìn)程會從/etc/rc?.d目錄讀取運(yùn)行級別(Runlevel)配置文件(rc?.d),來根據(jù)配置文件加載指定的服務(wù)。
其中,啟動運(yùn)行級別服務(wù)的代碼示例如下:
# List runlevel directories
for i in /etc/rc?.d ; do
# Go through the scripts in that directory
for x in $i/S* ; do
# Split off the runlevel number
level=`echo $x | cut -b 4-`
# If it’s the one we want run it
if [ “$level” = “$RUNLEVEL” -o “$level” = “S” ]; then
# Source shell functions
. /etc/rc.d/init.d/functions
# Run the service
echo -n $”Starting $x: ”
daemon $x start
fi
done
done
最后,通過以上分析,可以總結(jié)出Linux Init代碼的執(zhí)行過程是以init進(jìn)程為核心,由/etc/inittab、/etc/init.d以及/etc/rc?.d三部分組成的,其中init進(jìn)程用于啟動系統(tǒng)內(nèi)核初始化和加載外部服務(wù),/etc/inittab文件用于加載其他進(jìn)程,而/etc/init.d目錄用于自定義服務(wù)腳本,最后/etc/rc?.d目錄用于啟動不同級別服務(wù)。
香港云服務(wù)器機(jī)房,創(chuàng)新互聯(lián)(www.cdcxhl.com)專業(yè)云服務(wù)器廠商,回大陸優(yōu)化帶寬,安全/穩(wěn)定/低延遲.創(chuàng)新互聯(lián)助力企業(yè)出海業(yè)務(wù),提供一站式解決方案。香港服務(wù)器-免備案低延遲-雙向CN2+BGP極速互訪!
當(dāng)前題目:分析LinuxInit代碼的深入分析(linuxinit代碼)
本文URL:http://www.5511xx.com/article/cddoios.html


咨詢
建站咨詢
