首先我們來看下圖:
讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長期合作伙伴,公司提供的服務(wù)項(xiàng)目有:域名注冊、網(wǎng)站空間、營銷軟件、網(wǎng)站建設(shè)、潁東網(wǎng)站維護(hù)、網(wǎng)站推廣。
1、加電自檢
固件:硬件和軟件結(jié)合。加電自檢是我們按下電源會檢測硬件像cpu、內(nèi)存、網(wǎng)卡等信息。(從硬件層次檢測硬件是否可用)
2、自舉程序
檢測完之后跳轉(zhuǎn)到mbr(主引導(dǎo)記錄)里面讀取一個(gè)很重要的數(shù)據(jù)bootloader(后續(xù)的所有工作都是bootloader完成)和partition table、magic number
3、bootloader載入內(nèi)核
內(nèi)核的概念: (linux是一堆源碼,在開機(jī)的時(shí)候會看到booting the kernel,從軟件層次檢測硬件是否可用)
主要作用就兩個(gè):驅(qū)動硬件(所謂驅(qū)動就是系統(tǒng)識別硬件,讓操作系統(tǒng)認(rèn)識硬件,從軟件識別硬件是否可用)、啟動完init進(jìn)程其任務(wù)就完成了。
4、啟動init進(jìn)程(linux啟動的第一個(gè)進(jìn)程)
init進(jìn)程的任務(wù):
解釋:
init進(jìn)程的pid為1,其PPID為0,PPID就是父進(jìn)程ID,其父進(jìn)程是內(nèi)核任務(wù)調(diào)度器。
linux是一個(gè)實(shí)時(shí)系統(tǒng)就是將處理時(shí)間按時(shí)間分配,如果你這次時(shí)間沒有處理完下次繼續(xù)給你分配時(shí)間的時(shí)候再處理,這就需要一個(gè)CPU時(shí)間調(diào)度器,也就是PID為0的內(nèi)核調(diào)度器。
linux中由一個(gè)進(jìn)程派生出的進(jìn)程成為子進(jìn)程。如果一個(gè)進(jìn)程的父進(jìn)程死了,其子進(jìn)程也不能存在。linux中父進(jìn)程死掉子進(jìn)程存活的進(jìn)程成為孤兒進(jìn)程,在linux中不允許孤兒進(jìn)程的存在。linux掃描到存在孤兒進(jìn)程的時(shí)候會自動將這個(gè)孤兒進(jìn)程的父進(jìn)程設(shè)置為init進(jìn)程(PID為1的進(jìn)程)。
子進(jìn)程死亡,父進(jìn)程應(yīng)該切換和子進(jìn)程之間的聯(lián)系,這個(gè)子進(jìn)程成為僵尸進(jìn)程,J進(jìn)程,這種進(jìn)程也不允許存在。
5、讀取/etc/inittab文件
總結(jié):
(1)fireware(固件)開機(jī)自檢,檢驗(yàn)硬件設(shè)備是否正常,如果正常則讀取硬盤上面存放數(shù)據(jù)的第一個(gè)位置MBR(Master Boot Record)里面的bootloader
(2)BootLoader里面最重要的是存放了一個(gè)自舉程序(GRUB)
(3)GRUB 載入內(nèi)核(kernel) 驅(qū)動硬件、啟動init進(jìn)程
(4)init進(jìn)程讀取/etc/inittab
首先執(zhí)行腳本:/etc/rc.d/rc.sysinit (不管任何運(yùn)行級別都會執(zhí)行這個(gè)腳本),然后根據(jù)initdefault查到默認(rèn)的運(yù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)注創(chuàng)新互聯(lián)其它相關(guān)文章!