歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux面試題:Linux是怎樣啟動的

Linux面試題:Linux是怎樣啟動的

日期:2017/2/28 14:26:06   编辑:Linux教程

在筆試時考了一道關於Linux系統啟動的過程,當時沒答上來,現在整理出來(其實並不復雜)。

按下電源按鈕的直到歡迎頁出來之後,Linux總共做的事可以分為五步來完成。

1、 BIOS加電自檢:

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

2、 加載主引導加載程序(MBR):

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

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

3、 加載次引導記載程序(GRUB)

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

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

4、 linux內核映像:

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

linux內核獲得控制權之後開始干自己的事

1、 檢測硬件

2、 解壓縮自己並安裝必要驅動

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

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

5、 完成之後,linux在進程空間裡面加載init程序,下面輪到init干活

5、 init進程

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

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

至此,linux啟動完成。

我們稍微總結一下:

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

swap分區是什麼?

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

詳細講解Linux啟動流程及啟動用到的配置文件及腳本 http://www.linuxidc.com/Linux/2013-04/82119.htm

Linux開機啟動過程詳細分析 http://www.linuxidc.com/Linux/2007-11/8701.htm

紅帽Linux啟動流程詳解 http://www.linuxidc.com/Linux/2012-01/50790.htm

Linux啟動流程詳述 http://www.linuxidc.com/Linux/2014-10/108440.htm

Copyright © Linux教程網 All Rights Reserved