您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關linux啟動流程的示例分析,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
linux啟動流程簡介
我們都知道,由于linux的穩定性,通常被作為服務器系統,要想稱為一個PHP的高手,linux是必修之課。那么linux系統從開機到啟動,中間到底都發生了什么?本文來簡單探討一下中間的神秘過程。
1、 BIOS加電自檢
BIOS是英文"Basic Input Output System"的縮略詞 其實,它是一組固化到計算機內主板上一個ROM芯片上的程序。 計算機會首先加載BIOS信息,這是因為BIOS中包含了CPU的相關信息、設備啟動順序信息、硬盤信息、內存信息、時鐘信息等等。在此之后,計算機心里就有譜了,知道應該去讀取哪個硬件設備了。
2、 加載主引導加載程序(MBR)
MasterBootRecord,即主引導記錄,它的大小是512字節,別看地方不大,可里面卻存放了預啟動信息、分區表信息。 主引導程序是一個512字節的映像。包含一點機器碼還有一個小的分區。 主引導程序的任務就是查找并且加載處在硬盤分區上的次引導程序。通過分區表查找活動分區,并將處在活動分區的次引導加載程序讀取到內存里面運行。
3、 boot loader
bootloader就是在操作系統內核運行之前執行的的一段小程序。通過這段小程序,可以初始化硬件設備、建立內存空間的映射圖,從而將系統的軟硬件環境帶到一個合適的狀態,為加載內核做準備。 常見的bootloader有Grub、Lilo和spfdisk
4、 加載linux內核映像
用戶選擇要加載的內核之后,次引導加載程序(GRUB)就會根據/boot/grub.conf配置文件中所設置的信息,從/boot/所在的分區上讀取Linux內核映像,然后把內核映像加載到內存中并把控制權交給Linux內核。
linux內核獲得控制權之后開始干自己的事
(1) 檢測硬件
(2) 解壓縮自己并安裝必要驅動
(3) 初始化與文件系統相關的虛擬設備
(4) 裝載根文件系統,掛在根目錄下面
(5) 完成之后,linux在進程空間里面加載init程序,下面輪到init干活 5、 init進程 init是所有進程的發起者和控制者,所有的進程都由此衍生。 init進程獲得控制權之后,它會執行/etc/rc.d/rc.sysinit腳本,根據里面的代碼設置環境變量、網絡、啟動swap、檢查并掛載文件系統、執行其他初始化工作。
6、自定制啟動程序 /etc/rc.local rc.local就是在一切初始化工作后,Linux留給用戶進行自己定制開機啟動的地方。你可以把你想設置和啟動的東西放到這里。
7、執行/bin/login程序,進入登錄狀態
關于“linux啟動流程的示例分析”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。