Linux作業系統的啟動過程

2021-08-31 08:40:27 字數 3089 閱讀 3506

linux作業系統的啟動過程一般分為四個階段:

bios啟動引導階段

系統上電開機後,主機板

bios

執行post

(power on self test

)**,檢測系統外圍一些裝置(如:

cpu、記憶體、顯示卡、

i/o、鍵盤滑鼠等),

當裝置檢測通過後,系統開始啟動自舉程式,根據在

bios

中設定的啟動順序搜尋啟動驅動器(比如硬碟、光碟機、網路伺服器等),並獲取第乙個啟動裝置的代號,讀取第乙個啟動裝置的mbr的引導引導程式(即lilo、grub、spfdisk等)的啟動資訊,從

mbr中裝載啟動引導管理器(

grub

)並執行該啟動引導管理

。至此進入

grub

啟動引導階段。

grub啟動引導階段

主要操作是裝載

stage1

,裝載stage1.5

,裝載stage2。

然後讀取

/boot/grub.conf

檔案顯示啟動選單,裝載所選的

kernel

和initrd

檔案到記憶體中。

bios

通過下面兩種方法之一

來傳遞引導記錄:

上面兩種方法比較後,無論上面的哪種情況中,

ipl都是

mbr的一部分,都需要

mbr的參與。

ipl是grub

階段的第乙個部分(

stage1

),他的作用就是定位和裝載

grub

的第二個部分(

stage2

);因為

stage1

沒有檔案系統識別能力,所以具有檔案系統識別能力的

stage1.5

成為stage1

和stage2

之間連線的橋梁,這樣grub才有能力去訪問/boot分割槽/boot/grub目錄下的 stage2檔案,將stage2載入記憶體並執行。

stage2

對啟動系統起關鍵作用,該部分提供了

grub

啟動選單和互動式的

grub

的shell。

啟動選單在啟動時候通過

/boot/grub/grub.conf

檔案所定義的內容生成。

在啟動選單中選擇了

kernel

之後,grub

會負責解壓和裝載

kernel image

並且將initrd

裝載到記憶體中,最後

grub

初始化kernel

啟動**,完成之後後續的引導權

,被移交給

kernel。

核心階段

作業系統的核心是放在檔案系統中的,要想正確載入核心就必須提前識別檔案系統。

要想載入linux的核心就必須能識別linux的檔案系統,核心檔案一般會放在/boot/vmlinuz。

在系統啟動的控制權移交給

kernel後,

kernel

會立即初始化系統中各裝置並做相關配置工作,其中包括

cpu、

i/o、儲存裝置等。

配置過程中進行裝置驅動載入的時候,一部分裝置的驅動編入

linux kernel

中,kernel

會呼叫這部分驅動初始化相關裝置;另外有一部分裝置驅動並沒有編入

kernel

,而是作為模組形式放在

initrd中。

initrd

是一種基於記憶體的檔案系統,啟動過程中,系統在訪問真正的根檔案系統時,會先訪問

initrd

檔案系統。 將

initrd

中的內容開啟來看,會發現有

bin、

dev、

etc、

lib、

proc

、sys

、sysroot

、init

等檔案(包含目錄)。

initrd

中的內容釋放到

rootfs

(根檔案系統)

中後,kernel

會執行其中的

init

檔案。

這個時候核心的控制權移交給

init

檔案處理。

驅動載入後,會建立乙個根裝置,然後將根檔案系統以唯讀的方式掛載。

這步結束後釋放未使用記憶體並執行

switch root

,轉換到真正的根上面去,同時執行

/sbin/init

程式,開啟系統的

1號程序,此後系統啟動的控制權移交給

init

程序。

init初始化階段

在核心載入完成之後,系統就準備好了,等待程式的執行。整個linux系統中,第乙個執行的程式就是「/sbin/init」。

具體步驟如下:

執行系統初始化指令碼

(/etc/rc.d/rc.sysinit)

,對系統進行基本的配置,以讀寫方式掛載根檔案系統及其它檔案系統,到此系統基本算執行起來了;通過

讀取配置檔案

/etc/inittab

確定啟動後進入的執行級別,在選定執行級別後進入相應的「/etc/rc.d/rcx.d」目錄中執行相應的服務內容,該目錄下的內容全部都是以s或k開頭的鏈結檔案,這些鏈結檔案都鏈結到「/etc/rc.d/init.d」目錄下的各種shell指令碼,通過執行這些shell指令碼,完成了系統所有的啟動任務,linux會啟動終端或x-window來等待使用者登入。

linux

系統啟動流程圖及其相關檔案

系統執行流程圖

作業系統的啟動過程

一 計算機的工作模式 實模式 計算機剛剛加電啟動時進入的模式 程式按照8086定址方式訪問0h ffffh空間 1mb cpu單任務執行 實模式訪問的1mb空間 00000 9ffff 640k 基本記憶體 a0000 bffff 128k 顯示卡視訊記憶體 儲存顯示卡將要處理的資料 c0000 f...

作業系統啟動過程

當我們按下開機鍵後,作業系統究竟是如何跑起來的?這個過程詳細說來很複雜。這裡只簡單描述一下。當機器剛從生產線上下線的時候,裡面沒有作業系統,稱之為裸機。裸機什麼事都幹不了,於是需要裝上作業系統。機器中固化了乙個用於讀取磁碟或者其他裝置的程式,於是當你在啟動時按下f2鍵,就會執行這個程式安裝作業系統。...

作業系統啟動過程

計算機的儲存器分為 大容量儲存器 通常為硬碟 和 主儲存器 即 記憶體 操作 系統 如 windows unix linux mac os 安裝在大容量儲存器上,而主儲存器又分為兩部分 能夠永久儲存資料的rom read only memory 和易失性儲存器部分 即在關機後資料全部丟失 bios ...