2009年6月15日 星期一

BIOS

BIOS全名為基本輸入輸出系統(Basic Input Output System:BIOS),被歸類在韌體(Firmware)這一類,但若以任務導向來區分,BIOS比較偏向作業系統。

BIOS的作用主要有四點:
  • 自動檢查及進行初始化
  • 記錄系統設定值
  • 中斷處理
  • 載入作業系統


  • 下圖為BIOS與各元件的關係圖:

    南北橋為主機板最重要的晶片組,北橋主要控制著CPU、記憶體;南橋負責PCI、PCI-E、USB、VGA等所有週邊相關設備。而在南橋裡有一個特殊區塊,負慣儲存CMOS的空白域,讓BIOS儲存使用者設定。

    當BIOS啟動時會先去確認CMOS中的資料是否正確,若正確,便會將之前使用者存在CMOS的資料,加上已存在或找到的硬體資訊,整合成為一個表格存入到憶體中,也就是所謂的SMBIOS。

    下圖為BIOS的啟動流程圖:

    在PowerOn階段,BIOS的主要工作是檢查主機上某些硬體的狀態以及存在於CMOS的設定。當BIOS讀取完CMOS中使用者之前已經設定好的設定值之後,接下來將會有一連串的硬體檢測動作,檢測記憶體的大小,此階段稱之為開機自我測試(Power On Self Test: POST)。當POST完成後,會將所有臨時使用的硬體其相關資訊儲存在記憶體的SMBIOS表格中,以供使用者或作業系統來對應使用。

    當一切都完成,BIOS要退居幕後時,會將載入作業系統的主控權交棒給硬碟內的主啟動磁區(Master Boot Record:MBR),也就是硬碟的第零軌,讓藏身於MBR中的開機管理程式可以將指標帶到系統核心的地方。進入Linux後的第一件事,就是將kernel載入到記憶體中,再將一支initrd也跟著丟進記憶體,取接著就可以進入使用者真正在使用的Linux作業系統。


    參考書目:邱世華.《Linux 作業系統之奧義》.稅知文化

    沒有留言:

    張貼留言