Linux系統啟動過程介紹(1)

來源:互聯網
上載者:User

   概述

  對作業系統的啟動過程一直是比較模糊,想想大概經曆檢查硬體,載入作業系統,載入

  使用者環境等幾個過程,但實際上要複雜一些。畢竟我們只是瞭解和掌握啟動過程,而不是去

  對啟動過程進行設計和編碼,所以下面的介紹相對比較簡單,也點到為止。如果有想深入學

  習的同學,可以針對某個或某幾個部分刨根問題,編碼調試。

  下面以Debian Linux的啟動載入為例,簡單介紹一下作業系統的啟動。

  經曆的過程如下:

  開機自我測試 (POST)(POST)---->執行基本輸入輸出(BIOS)---->載入系統磁碟分割表資料(MBR開

  始的512位元組)---->載入引導程式(grub之類)---->載入Linux核心----->系統內容初始化-----

  ------->使用者環境初始化

  開機自我測試 (POST)(POST)

  這部分沒有什麼多餘的東西,電腦連上電源使用者按下啟動按鈕後,電腦自己檢測CPU,

  記憶體,硬碟等硬體裝置是否處在可用狀態。如果可以使用,繼續下一步的工作,即將運行權

  交給BIOS,否則利用峰鳴器警示。這也是修理電腦的專家根據蜂鳴器警示聲判斷系統那裡有

  問題的依據。

  執行基本輸入輸出(BIOS)

  BIOS(Basic Input Output System)基本輸入輸出程式。該程式完成最基本的硬體位置

  處理,設定硬中斷等。然後將MBR最開始的程式調入到CPU上運行,運行權進而交給MBR。

  MBR載入

  MBR(Master boot record),是啟動磁碟最開始的512位元組,這裡包含了分區資訊和一

  個引導程式。分區資訊記載了磁碟的分區情況,引導程式即是我們比較熟悉的Grub,LiLo等,

  用來指引從什麼位置載入核心程式。

  引導程式載入Grub(GRand Unified Bootloader)

  Grub在配置的時候指定在什麼分區的什麼位置載入核心,Grub2以前的版本中grub都是

  有兩個或者多個載入過程的,會去載入stage1,stage1_5,stage2檔案,這些檔案都在

  /boot/grub目錄下。之所以會有這些檔案,是因為在載入的早期,一次只能載入512位元組,太

  多檔案的話,只能分批載入。

  現在,在Grub2中已經找不到這個檔案了,載入和引導的過程會另外介紹。

  核心載入過程

  由於在Grub中記錄了核心的具體位置,在Grub運行完畢後,就開始載入核心,運行許可權隨

  之交給核心。

  核心接過運行許可權,開始探測系統的硬體,載入硬體對應的驅動(有些以模組啟動並執行驅動,

  是需要掛載檔案系統才能載入),然後掛載檔案系統,從檔案系統中讀取資料。

  這個過程的如下:

  核心探測硬體------>載入驅動(initrd)------>掛載根檔案系統------>rootfs(/sbin/init)

  系統初始化工作

  最後運行權交給了/sbin/init程式,開始跑初始化的指令碼內容。(待續)

相關文章

Beyond APAC's No.1 Cloud

19.6% IaaS Market Share in Asia Pacific - Gartner IT Service report, 2018

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。