任何啓動程序或者系統都有啓動入口。那麼計算機的啓動入口是什麼呢html
CS寄存器: 代碼段寄存器
IP寄存器:指令指針寄存器
在實模式下,內存地址爲:CS * 16 + IP,例如CS:0xF000和IP:0xFFF0,計算得出內存地址爲0xFFFF0。
而CPU將CS:IP地址指向的內容當作指令執行。ios
因爲尚未啓動,確定不是由軟件操做,而是由硬件操做的。首先將CS寄存器置爲0xF000,IP寄存器置爲0xFFF0。因此CPU第一條執行的指令地址是0xFFFF0操作系統
0xFFFF0指向BIOS的入口地址,此地址所指向的內容也是一條執行jmp f000:e05b指針
設置啓動入口地址CS:IP 爲0xF000:0xFFF0htm
BIOS是Bbase Input Output System的縮寫,基本輸入輸出系統。blog
BIOS是一個ROM(只讀存儲器),容量較小,只能作少部分工做,不可能完成全部的啓動任務。
因此BIOS只完成了下面幾項工做:ip
檢查計算機硬件是否知足運行基本條件,若是出現問題,主板會發出不一樣含義的報警。若是沒有問題,則繼續啓動。並創建中斷向量表等等內存
檢驗和加載啓動盤位於0盤0道1扇區的內容到內存0x7c00處get
加載的內容就是MBR引導程序,至於爲何在0盤0道1扇區,就是約定的。博客
最後跳轉到0x7c00處,jmp 0:0x7c00
BIOS按照啓動順序,把控制權轉交給MBR.MBR是Main/Master Boot Record的縮寫,主引導記錄。共512字節。
主引導記錄結構:
分區:
好比咱們普通的電腦都分爲C D E F等幾個盤,到底哪一個是啓動盤,主引導記錄將控制權轉交給哪一個盤,也就是哪一個分區
MBR應該將控制權轉交給系統加載器,MBR所作的工做
OBR是OS Boot Record的縮寫,系統引導記錄,也就是所謂的次引導記錄,就是操做系統的起始位置。而後後面就把控制權交給操做系統了。
OBR所作工做
參考:
【1】阮老師博客