大致一看可以知道pc機啟動的過程。
引用自:
計算機啟動時,cpu工作在實模式下,最大定址空間只有1mb,這1mb非常重要,它又可以分為高位址部分和低位址部分:00000h~9ffffh為低地 址;a0000h~fffffh為高位址部分,其中低位址總共640kb,為基本儲存空間,存放中斷向量、bios資料、存放引導扇區等,高位址可細分為 a0000h~bffffh要保留給顯示卡的視訊記憶體使用,c0000h~fffffh則被保留給bios使用,其中系統bios一般占用了最後的64kb或更多一點的空間,顯示卡bios一般在c0000h~c7fffh處,ide控制器的bios在c8000h~cbfffh處。
也就是說最初的1m記憶體空間的每乙個位元組都由bios安排好了:
0x00000-0x003ff:中斷向量表
0x00400-0x004ff:bios資料區
0x00500-0x07bff:自由記憶體區
0x07c00-0x07dff:引導程式載入區
0x07e00-0x9ffff:自由記憶體區
0xa0000-0xbffff:顯示記憶體區
0xc0000-0xfffff:bios中斷處理程式區
[img]
首先簡要梳理一下計算機開機的流程:
1:開機加電,cpu工作在16位實模式下;
3:ffff0h處是bois的第一條指令,是一條跳轉指令,指向bios真正的**處;
4:bios**從高位元組到低位元組依次是post硬體自檢、顯示卡初始化、cpu、記憶體、硬碟等標準硬體的初始化、載入引導扇區;
4.1:post硬體自檢主要包括檢測關鍵裝置如記憶體顯示卡等是否存在能否正常工作,如有錯誤從喇叭發出錯誤訊號,不在螢幕上輸出任何資訊
4.2:標準硬體的初始化,在螢幕上輸出硬體的型別和引數
5:此時cpu執行到boot sector模組,呼叫bios中斷把啟動盤的0面0道1扇區的mbr(主引導程式)載入到記憶體中的07c00h處,然後cpu跳轉到07c00h的指令處,並跳轉到保護模式下,至此已控制權徹底交給引導程式。當bios把系統控制權交給作業系統的引導程式後,cpu從實模式跳轉到保護模式,可以定址4g空間,並支援虛擬記憶體。這篇文章是以後學習虛擬機器的基礎。
計算機啟動流程解析
首先簡要梳理一下計算機開機的流程 1 開機加電,cpu工作在16位實模式下 2 cpu按照實模式下的記憶體定址方式從段位址 ffff 偏移位址 0000 處開始執行指令 3 ffff0h處是bois的第一條指令,是一條跳轉指令,指向bios真正的 處 4 bios 從高位元組到低位元組依次是post...
計算機啟動流程
系統啟動流程 我們幾乎每天都要開啟電源啟動機器,面對螢幕上出現的一幅幅啟動畫面,我們一點兒也不會感到陌生,但是,計算機在顯示這些啟動畫面時都做了些什麼工作呢?開啟計算機機電源後到計算機準備接受你發出的命令之間計算機所執行的過程稱為引導 boot 過程。我們知道,當關閉電源後,ram的資料將丟失,因此...
計算機啟動流程
啟動 英文是boot,其本意是靴子的意思,這裡boot是bootstrap 鞋帶 的縮寫,來自諺語 pull oneself up by one s bootstraps 譯為 拽著鞋帶把自己拉起來 最早的時候,工程師們用它來比喻計算機啟動的矛盾過程 必須先執行程式,然後計算機才能啟動,但是計算機不...