linux啓動過程分析

一、  BIOS加電自檢: linux

加電自檢,檢測硬件設備。而後按照cmos上面的順序來搜索處在活動狀態下的能夠引導的設備。能夠是光驅、軟盤、USB等。 windows

二、  加載主引導加載程序(MBR): 網絡

主引導程序是一個512字節的映像。包含一點機器碼還有一個小的分區。 spa

主引導程序的任務就是查找而且加載處在硬盤分區上的次引導程序。經過分區表查找活動分區,並將處在活動分區的次引導加載程序讀取到內存裏面運行 進程

三、  加載次引導記載程序(GRUB) 內存

次引導加載程序只要就是加載linux內核。 it

上一階段結束以後次引導加載程序就會在內存裏面跑起來。就會出現GRUB圖形界面,讓用戶選擇加載什麼樣的內核。 變量

四、  linux內核映像: 配置

用戶選擇要加載的內核以後,次引導加載程序(GRUB)就會根據/boot/grub.conf配置文件中所設置的信息,從/boot/所在的分區上讀取Linux內核映像,而後把內核映像加載到內存中並把控制權交給Linux內核。 搜索

linux內核得到控制權以後開始幹本身的事

(1)、  檢測硬件

(2)、  解壓縮本身並安裝必要驅動

(3)、  初始化與文件系統相關的虛擬設備,LVM或RAID

(四、  裝載根文件系統,掛在根目錄下面

(5)、  完成以後,linux在進程空間裏面加載init程序,下面輪到init幹活

五、  init進程

init是全部進程的發起者和控制者,全部的進程都由此衍生。

init進程得到控制權以後,它會執行/etc/rc.d/rc.sysinit腳本,根據裏面的代碼設置環境變量、網絡、啓動swap、檢查並掛載文件系統、執行其餘初始化工做。

至此,linux啓動完成。

咱們稍微總結一下:

首先是BIOS加電自檢,以後加載主引導加載程序、次引導加載程序,最後就是linux內核映像,完了把控制權交給init進程,完成初始化工做。

swap分區是什麼?

相似windows系統中的虛擬內存,當物理內存不夠用的時候,使用swap中的內存。

相關文章
相關標籤/搜索