BIOS和主引導記錄MBR
實模式和保護模式
實模式(實地址模式,REAL MODE)
- 程序按照8086尋址方式訪問0h~FFFFh(1MB)空間
- 尋址方式:物理地址(20位)=段地址:偏移地址
- CPU單任務運行
保護模式(內存保護模式,PROTECT MODE)
- 尋址方式:段(32位)和偏移地址(32位),尋址4GB空間
段的屬性:起始地址,存儲屬性,限權級別,……
- 段頁式尋址機制(段,頁)
- 虛擬地址,進程,封閉空間
- 應用程序和操作系統的運行環境都被保護
- CPU支持多任務
實模式存取的1M空間
- 前面640K【0000——9FFFF】:基本內存
- 中間128K【A0000——BFFFF】:顯卡現存
- 末尾256K【C0000——FFFFF】:BIOS
BIOS
- 顯示卡BIOS:C0000——C7FFF
- IDE控制器BIOS:C8000——CBFFF
- 最後64K,系統BIOS:F0000——FFFFF
系統BIOS
Basic I/O System(Firmware 固件)
- 基本輸入輸出系統
- 位置:F0000——FFFFF
功能
- 系統啓動配置
- 基本的設備I/O服務
- 系統的家電自檢和啓動
系統的啓動配置
- CMOS配置
基本的設備I/O服務
- BIOS使用的中斷類型型號爲10H~1FH
- 入口參數
- 家電自檢POST
Power On Slef-Test (加電自檢)
初始化基本硬件
自檢正常不提示,錯誤通過喇叭提示
- 按下PowerOn或者Reset鍵執行第一條指令
執行FFFF0處指令
JUMP POST(跳轉到加電自檢),POST位於系統BIOS內部
POST之後
- 查找顯卡BIOS並調用
- 依次查找其它設備執行相應設備的BIOS
- 顯示啓動畫面
- 從硬盤/軟盤/光驅/U盤讀入OS
主啓動記錄MBR
MBR
- 存放在硬盤/軟盤的首扇區
- 存放和OS啓動的相關信息(Main Boot Record)
- 512 BYTES(字節)
- 結束:0xAA55h
其它扇區的首扇區稱爲分區啓動記錄
主啓動扇區:完成OS加載或啓動管理功能
- 提供菜單:讓用戶選擇不同的啓動項,實現多重啓動
- 加載核心文件:直接指向可啓動區加載操作系統
- 跳轉:將啓動管理文件功能轉交給其他loader
BIOS和MBR程序運行過程
- POST——>CMOS(硬件啓動)——>讀取MBR——>控制權交給MBR
- MBR讀取分區表,找到其他活動分區,並確認其他的分區都不是活動分區。MBR讀取活動分區的第一個分區並把它加載到內存中。
- PBR繼續控制後面的引導過程
操作系統的啓動
啓動過程
從加電到用戶工作環境準備好的過程
- 初始引導
- 核心初始化
- 系統初始化
初始引導
目的:把OS核心裝入內存並使之開始工作接管計算機系統
過程:
- 加電,JUMP POST
- BIOS中的啓動程序
- 啓動程序
讀取0面0道第一扇區內容(MBR)
加載MBR中的引導程序
引導程序
- 根據相關參數,讀取硬盤指定位置的文件到內存
- 加載硬盤上OS內核,並初始化基本參數
OS內核:逐步加載OS剩餘內容,最後完全控制計算機
核心初始化
目的:OS內核初始化系統的核心數據
典型工作
- 各種寄存器的初始化
- 存儲系統和頁表初始化
- 核心進程構建
- ……
系統初始化
爲用戶使用系統作準備,使系統處於待命狀態
主要工作
- 初始化文件系統
- 初始化網絡系統
- 初始化控制檯
- 初始化圖形界面
- ……