操作系統學習(四)、系統啟動過程
阿新 • • 發佈:2018-05-19
中斷向量 初始化 地址 I/O 向量 錯誤 cpu 系統初始 系統初始化
一、操作系統啟動部分主要執行流程
當PC電源打開後,80x86結構的CPU將自動進入實時模式。並從地址
0xFFFF0
(FFFF:0) 開始自動執行程序代碼,這個地址通常是是ROM-BIOS中的地址。PC機的BIOS將執行某些系統檢測,並在物理地址0處開始初始化中斷向量。 此後,它將可啟動設備的第一個扇區(磁盤引導扇區,512字節)讀入絕對內存地址
0x7C00
處,並跳轉到這個地方。
註:啟動設備通常是軟驅或硬盤。
二、具體執行過程
開機後,CPU自動進入到FFFF:0 單元處執行,此處有一條跳轉指令。CPU執行該跳轉指令後,轉去執行BIOS中的硬件系統檢測和初始化程序。
初始化程序將將建立BIOS所支持的中斷向量,即將BIOS提供的中斷例程的入口地址登記在中斷向量表中。
硬件系統初始化完成後,調用 int 19h 進行操作系統引導工作。
如果設為從軟盤啟動操作系統,則int 19h 將主要完成以下工作。
a. 將控制0號軟驅,讀取軟盤0道0面1扇區的內容到0:7C00 b. 將CS:IP 指向0:7C00
如果在0號軟驅中沒有軟盤,或發生軟盤I/O錯誤,則int 19h將主要完成以下工作
a. 讀取硬盤C的0道0面1扇區的內容到0:7c00 b. 將CS:IP 指向0:7C00
註:如果從軟盤啟動軟盤的0道0面1扇區中裝有操作系統引導程序,int 19h 將其裝在到0:7c00處後,設置CPU從0:7c00開始執行此處的引導程序,操作系統被激活,控制計算機。
操作系統學習(四)、系統啟動過程