PC啟動過程

2021-06-01 22:49:49 字數 711 閱讀 3597

pc啟動時,首先會在實模式下執行bios,啟動後的第一條指令在記憶體0x000ffff0處,因為bios在記憶體中的上限是0x00100000,於是在0x000ffff0處執行的第一條指令必然要跳到bios的指令位置開始執行,保證bios在剛啟動的時候得到控制權。bios得到控制權後會對系統進行一系列的初始化。

bios初始化完成後,會將乙個稱作boot loader的程式從硬碟讀到記憶體中並把控制權交給該程式,到這裡bios的任務就算完成了。

boot loader程式會在編譯成可執行**後放在硬碟的第乙個扇區。硬碟被分割成乙個個大小為512位元組的扇區,扇區是硬碟最小的讀寫單位,即每次對硬碟讀寫操作只能夠對乙個或者多個扇區進行並且操作位址必須是512位元組對齊的。如果說作業系統是從硬碟啟動的話,硬碟的第乙個扇區就被稱作「啟動扇區」,因為boot loader的可執行程式就在這個扇區。當bios找到啟動硬碟後,便將512位元組的啟動扇區的內容裝載到物理記憶體的0x7c00到0x7dff的位置,緊接著再執行乙個跳轉指令將cs設定為0x0000,ip設定為0x7c00,這樣便將控制權交給了boot loader程式。

關於boot loader程式:boot loader的源程式是由乙個叫做boot.s的匯程式設計序和乙個main.c的c程式組成。boot.s主要是將處理器從實模式轉換到32位的保護模式(保護模式中我們才能夠訪問到物理記憶體高於1mb的空間)。main.c的主要作用是將核心的可執行**從硬碟映象中讀入到記憶體中,具體的方式是運用x86專門的i/o指令。

PC啟動過程詳解

系統啟動過程 1.預引導 pre boot 階段 2.引導階段 3.載入核心階段 4.初始化核心階段 5.使用者登入階段 基本概念 bios 即 basic input output system 基本輸入輸出系統 它是一組被 固化 在計算機主機板上的一塊rom中直接關聯硬體的程式,儲存著計算機最重...

mysql啟動過程長 mysql啟動過程

mysql啟動過程經過以下順序 1.mysql讀取配置檔案的順序 讀取順序 etc my.cnf etc mysql my.cnf usr etc my.cnf my.cnf 2.mysql啟動方式 mysql啟動方式有三種 mysqld mysqld safe mysqld multi 主要用於多...

Linux之PC上電啟動過程學習筆記

pc上電啟動過程分析 1 程式被載入器 軟體或硬體 載入到記憶體的某個區域。2 cpu的cs ip暫存器被指向這個程式的起始位址。從低位址向高位址看,0到0x9ffff為dram,也就是插拔的記憶體條,有640kb。頂部的0xf0000到0xfffff,這64kb是rom,儲存的是bios bios...