一、操作系統啟動部分主要執行流程
-
當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開始執行此處的引導程序,操作系統被激活,控制計算機。