Linux啟動流程

內核級別:

1、POST開機加電自檢

BIOS加載CMOS信息并進行開機自檢,檢測硬件設備是否正常并進行硬件設備初始化

2、Boot Sequence(BIOS):定義設備啟動順序

BIOS定義設備啟動順序,并讀取啟動設備數據加載硬盤上的第一個扇區MBR。

3、Boot Loader(MBR):bootloader功能實現

Boot Loader提供一個菜單,允許用戶選擇要啟動的系統或不同的內核版本,把用戶選定的內核裝載到RAM中的特定的空間中,解壓、展開而后把系統控制權移交給內核。

4、Kernel(ramdisk):內核實現

(1)Linux內核會以自己的功能重新檢測一次硬件,不一定使用BIOS檢測到的信息。

(2)加載硬件驅動程序(啟動過程中所需要的內核模塊,借助ramdisk加載)

(3)以只讀方式掛載根目錄文件系統。(掛載到ramdisk虛擬文件系統上,ramdisk中的/lib/modules下面有真正根的驅動程序。)

(4)運行用戶空間的第一個應用程序:/sbin/init

用戶級別(以Centos5為例)

5、/sbin/init/程序運行(在/etc/inittab設置)

init程序主要依賴于配置文件:/etc/inittab,類似shell script。流程如下:

(1)先去的runlevel即默認執行等級的相關等級;(以5為例)

(2)使用/etc/rc.d/rc.sysinit進行系統初始化;(以下Centos5中有的/etc/inittab有)

(3)由于runlevel是5,因此只進行“5:5:wait:/etc/rc.d/rc5”,其他行則略過;

(4)設置好【ctrl】+【alt】+【del】這組合的組合鍵功能;

(5)設置不斷電系統的pf,pr兩種機制

(6)啟動終端機

以下附上Centos6的圖片: Linux啟動流程

init處理系統初始化流程(/etc/rc.d/rc.sysinit)

設置好系統環境 (1)設置主機名; (2)設置歡迎信息; (3)激活udev和selinux; (4)掛載/etc/fstab文件中定義的所有文件系統; (5)檢測根文件系統,并以讀寫方式重新掛載根文件系統;(重新掛載是指根文件檢測完之后) (6)設置系統時鐘; (7)根據/etc/sysctl.conf文件來設置內核參數; (8)激活lvm即軟raid設備; (9)激活swap設備; (10)加載額外設備的驅動程序;(內核加載驅動只加載根文件系統的) (11)清理操作; 注意:在init配置文件:/etc/inittab中,有一行內容是定義/etc/rc.d/rc.sysinit,此腳本文件是負責完成系統初始化的腳本文件。 Linux啟動流程

關閉/啟動對應級別下的服務

腳本文件/etc/rc.d/rc作用為當級別切換時啟動或停止服務;此腳本接受傳遞的參數給腳本中$runlevel變量,然后,讀取/etc/rc$runlevel.d/K和/etc/rc$runlevel.d/S所有文件,這些文件就是為什么開機啟動后,有些服務會自動啟動,有些服務沒有啟動的原因。 K:要停止的服務,K##,優先級,數字越小,越優先關閉,依賴的服務先關閉,然后再關閉被依賴的。 S :要啟動的服務,S##*,優先級,數字越小,越是優先啟動,被依賴的服務先啟動,而依賴的服務后啟動。 /etc/rc.d/init.d目錄還有個鏈接目錄為/etc/init.d目錄,這兩目錄下文件相同。

Linux啟動流程

原創文章,作者:N24_yezi,如若轉載,請注明出處:http://www.www58058.com/60538

(1)
N24_yeziN24_yezi
上一篇 2016-11-23
下一篇 2016-11-23

相關推薦

  • 馬哥門徒Linux運維課程筆記-第1天03講 計算機及操作系統基礎

    第1天03講 計算機及操作系統基礎   ◆  市面上主流Unix廠商簡介         由于Unix系統的流行,當時行業中的主流大廠商都根據SysV或BSD開發了自己的版本,主要分類如下:       ●  IBM公司根據自己CPU硬件架…

    Linux干貨 2015-03-23
  • LVS類型及其調度算法

    LVS類型:     NAT:–>(DNAT) (多目標的DNAT)     DR:     TUN:     FULLNAT: LVS NAT的特性  &nbs…

    Linux干貨 2016-10-29
  • 進程和計劃任務

    1、進程概念 內核的功用:進程管理、文件系統、網絡功能、內存管理、驅動程序、安全功能等; 進程是運行中的程序的一個副本,是被載入內存的一個指令集合; 進程ID(PID )號碼被用來標記各個進程; UID、GID 和SELinux 語境決定對文件系統的存取和訪問權限,這些權限通常從執行進程的用戶來繼承并且存在生命周期; task struct:Linux內核存…

    Linux干貨 2016-09-13
  • N25-第12周博客作業

    1、請描述一次完整的http請求處理過程;   1)客戶端和服務器端建立連接。服務器接收或者拒絕請求。   2)服務器端接收客戶端請求。接收來自于網絡的請求報文中對某資源的一次請求。對請求的處理響應,可分為單進程(啟動一個進程處理請求,一次只處理一個)和多進程(并行啟動多個進程,每個進程處理一個請求)。  &…

    Linux干貨 2017-05-21
  • 網絡基礎

    網絡小白一個,針對網絡的基礎知識無從下手,因此本文引用了鳥哥私房菜中的眾多概念性知識,在此謝過,本文主要從OSI七層協議,TCP協議和一些網絡中專業詞匯進行解析,并通過子網掩碼的劃分,網絡接口的配置、路由配置等實例來加深對網絡的理解。 一、OSI七層協議:     OSI七層協議的由來:   由于網絡鏈接過程…

    Linux干貨 2016-09-07
  • 馬哥教育網絡班22期+第十二周課程練習

    1、請描述一次完整的http請求處理過程。    (1) 客戶端與服務端通過TCP三次握手建立或處理連接:接收請求或拒絕請求    (2) 接收請求:接收來自于網絡上的主機請求報文中對某特定資源的一次請求的過程    (3) 處理請求:對請求報文進行解析,獲取客戶端請求…

    Linux干貨 2016-12-29

評論列表(1條)

  • luoweiro
    luoweiro 2016-12-01 00:09

    熟練掌握啟動流程和各個步驟在做什么,這是必備技能之一,加油。

欧美性久久久久