3.你知道計算機是如何啓動的嗎?

上一期介紹的是計算機硬件,這期看一下將這些硬件組裝在一塊兒後它是如何啓動的。操作系統

先來個引子:當咱們按下電源鍵到屏幕顯示出操做界面的過程當中究竟發生了什麼呢? 不少人可能會說這不就是啓動了操做系統嘛。呵,這不是完整的過程。 若是不能大概描述它的啓動過程,我以爲這篇文章是爲你準備的。blog

在咱們按下機箱上的電源鍵後,電源向主板進行供電,主板上的部件都處於 power on 的狀態。接着初始化 BIOS 系統。BIOS 系統是一個位於主板的程序,它能夠控制硬件以及硬件設置(例如是否開啓虛擬化、磁盤設備啓動順序等)。繼承

BIOS 系統通常會燒錄在一個不會由於掉電而丟失數據的 ROM 裏面,通常來講主板出廠自帶 BIOS內存

上圖就是比較常見的 BIOS 界面,如今比較好的主板已經不是這種風格。我如今用的這臺機子的 BIOS 系統相似於以下這種:開發

這種 BIOS 也被稱爲 UEFI BIOS,它與以前的 BIOS 最大區別是支持鼠標操做,畫面比較友好。UEFI BIOS 是古老 BIOS 的繼承與延伸,它們的關係相似於 Windows XP 與 Windows 7。古老的 BIOS 常見於筆記本以及年代比較久遠的 PC。class

BIOS 初始化後,CPU 即讀取 BIOS 中的內容。在 X86 類型的 CPU 加電後,CPU 即會讀取物理地址 0xFFFF0,而這個地址即對應着 BIOS 的區域硬件

BIOS 的工做至關簡單,主要的工做就是執行主機自檢(POST),而後查找操做系統存在在哪一個磁盤上,將操做系統載入。BIOS 在查找各磁盤 的操做系統時,主要是查找磁盤上的第一個扇區(0面0磁道1扇區),每一個扇區是 512 字節,若是這是一個引導扇區,那麼就將它載入0x7C00 的內存地址上,而後跳轉到此地址上執行。若是此不是一個引導扇區,就繼續查找下一個磁盤,看其上面是否存在引導扇區。若是全部的磁盤上都不存在引導扇區,則在屏幕上 打印出一條出錯信息。程序

引導扇區只有一扇區即 512 字節大,所以它的主要目的是把操做系統的內核讀進內存,而後跳轉到操做系統內核處開始執行。從編寫操做系統角度來講,前面的 CPU 上電及 BIOS 的工做都不是操做系統能控制的,而從引導扇區開始,就完徹底全可由操做系統來控制了,所以,編寫引導扇區也是編寫操做系統 必要的工做之一。從 BIOS 跳入引導扇區後,計算機系統引導工做就算完成,而怎樣把操做系統內核讀進內存而後再安排一條跳轉指令跳到內核處執行就是操做系統開發人員的工做了。im

因此,計算機的啓動過程是:d3

  1. 按下電源鍵
  2. 主板加電,啓動 BIOS
  3. BIOS 啓動自檢,並查找各個磁盤上的引導信息
  4. 執行引導扇區程序,啓動操做系統
  5. 操做系統從 BIOS 接管計算機並啓動
  6. 操做系統啓動完成,計算機啓動完成

ps.歡迎關注官方公衆號"哈扣"。

相關文章
相關標籤/搜索