溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

linux系統(tǒng)運行程序的流程

發(fā)布時間:2020-06-18 11:35:05 來源:億速云 閱讀:153 作者:鴿子 欄目:建站服務(wù)器

首先我們來看下圖:

linux系統(tǒng)運行程序的流程

1、加電自檢

固件:硬件和軟件結(jié)合。加電自檢是我們按下電源會檢測硬件像cpu、內(nèi)存、網(wǎng)卡等信息。(從硬件層次檢測硬件是否可用)

2、自舉程序

檢測完之后跳轉(zhuǎn)到mbr(主引導(dǎo)記錄)里面讀取一個很重要的數(shù)據(jù)bootloader(后續(xù)的所有工作都是bootloader完成)和partition table、magic number

linux系統(tǒng)運行程序的流程

3、bootloader載入內(nèi)核

內(nèi)核的概念: (linux是一堆源碼,在開機(jī)的時候會看到booting the kernel,從軟件層次檢測硬件是否可用)

主要作用就兩個:驅(qū)動硬件(所謂驅(qū)動就是系統(tǒng)識別硬件,讓操作系統(tǒng)認(rèn)識硬件,從軟件識別硬件是否可用)、啟動完init進(jìn)程其任務(wù)就完成了。

linux系統(tǒng)運行程序的流程

4、啟動init進(jìn)程(linux啟動的第一個進(jìn)程

init進(jìn)程的任務(wù):

linux系統(tǒng)運行程序的流程

解釋:

init進(jìn)程的pid為1,其PPID為0,PPID就是父進(jìn)程ID,其父進(jìn)程是內(nèi)核任務(wù)調(diào)度器。

linux是一個實時系統(tǒng)就是將處理時間按時間分配,如果你這次時間沒有處理完下次繼續(xù)給你分配時間的時候再處理,這就需要一個CPU時間調(diào)度器,也就是PID為0的內(nèi)核調(diào)度器。

linux中由一個進(jìn)程派生出的進(jìn)程成為子進(jìn)程。如果一個進(jìn)程的父進(jìn)程死了,其子進(jìn)程也不能存在。linux中父進(jìn)程死掉子進(jìn)程存活的進(jìn)程成為孤兒進(jìn)程,在linux中不允許孤兒進(jìn)程的存在。linux掃描到存在孤兒進(jìn)程的時候會自動將這個孤兒進(jìn)程的父進(jìn)程設(shè)置為init進(jìn)程(PID為1的進(jìn)程)。

子進(jìn)程死亡,父進(jìn)程應(yīng)該切換和子進(jìn)程之間的聯(lián)系,這個子進(jìn)程成為僵尸進(jìn)程,J進(jìn)程,這種進(jìn)程也不允許存在。

5、讀取/etc/inittab文件

linux系統(tǒng)運行程序的流程

總結(jié):

(1)fireware(固件)開機(jī)自檢,檢驗硬件設(shè)備是否正常,如果正常則讀取硬盤上面存放數(shù)據(jù)的第一個位置MBR(Master Boot Record)里面的bootloader

(2)BootLoader里面最重要的是存放了一個自舉程序(GRUB)

(3)GRUB 載入內(nèi)核(kernel)   驅(qū)動硬件、啟動init進(jìn)程

(4)init進(jìn)程讀取/etc/inittab

首先執(zhí)行腳本:/etc/rc.d/rc.sysinit   (不管任何運行級別都會執(zhí)行這個腳本),然后根據(jù)initdefault查到默認(rèn)的運行級別并且去/etc/rc.d/rcN.d下執(zhí)行腳本,以S開頭的腳本是啟動服務(wù)的腳本,以K開頭是關(guān)閉服務(wù)的腳本

(5)最后會建立終端,等待用戶登錄。顯示user、name。

以上就是linux系統(tǒng)引導(dǎo)流程的詳細(xì)內(nèi)容,更多請關(guān)注億速云其它相關(guān)文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI