win32 004 80×86處理器的工作模式

Win32基礎知識1

 

讓編程改變世界

Change the world by program


 

必須瞭解的基礎知識

 

80×86處理器的工作模式

實模式

保護模式

虛擬8086模式

 

Windows的內存管理機制

Dos操作系統的內存安排情況

80386的內存尋址機制

80386的內存分頁機制

Windows的內存安排

從Win32彙編的角度看內存尋址

 

Windows的特權保護機制

80386的中斷和異常

80386的保護機制

Windows的保護機制

 

這是我們需要了解的一些基礎知識,無論學習哪門編程語言,只要在Windows下編程,這些不能不知 ^_^

 

80×86處理器的工作模式

 

80386以後的處理器有 3 種工作模式:實模式、保護模式和虛擬8086模式。

其實,實模式和虛擬8086模式是爲了向下兼容而設置的。

而保護模式是我們的主角,是我們現代系統實際上的工作模式。

只有在保護模式下,32位CPU的尋址才能達到4GB的地址空間,同時,也能實現多任務、內存分頁管理和優先級保護等先進的機制。

 

Windows7的啓動過程

 

1、開啓電源

計算機系統將進行加電自檢(POST)。

如果通過,之後BIOS會讀取主引導記錄(MBR)——被標記爲啓動設備的硬盤的首扇區,並傳送被Windows 7建立的控制編碼給MBR。

 

注:硬盤的0磁道的第一個扇區稱爲MBR,它的大小是512字節,而這個區域可以分爲兩個部分。

第一部分爲pre-boot區(預啓動區),佔446字節;

第二部分是Partition table區(分區表),佔66個字節,該區相當於一個小程序,作用是判斷哪個分區被標記爲活動分區,然後去讀取那個分區的啓動區,並運行該區中的代碼。

 

MBR他是不屬於任何一個操作系統,也不能用操作系統提供的磁盤操作命令來讀取它。

但我們可以用ROM-BIOS中提供的INT13H中斷的2號功能來讀出該扇區的內容。(介紹BIOS指令)

 

2、啓動菜單生成

Windows啓動管理器讀取“啓動配置數據存儲(Boot Confi guration Data store)中的信息。

此信息包含已被安裝在計算機上的所有操作系統的配置信息。並且用以生成啓動菜單。

 

當您在啓動菜單中選擇下列動作時: 

如果您選擇的是Windows 7,Windows 啓動管理器(Windows Boot Manager)運行%SystemRoot%System32文件夾中的OS loader —— Winload.exe。

如果您選擇的是自休眠狀態恢復Windows 7,那麼啓動管理器將裝載Winresume.exe並恢復您先前的使用環境。

如果您在啓動菜單中選擇的是早期的Windows版本,啓動管理器將定位系統安裝所在的卷,並且加載Windows NT風格的早期OS loader(Ntldr.exe)——生成一個由boot.ini內容決定的啓動菜單。

 

3、核心文件加載及登錄

Windows7啓動時,加載其核心文件 Ntoskrnl.exe和 hal.dll —— 從註冊表中讀取設置並加載驅動程序。

接下來將運行Windows會話管理器(smss.exe)並且啓動 Windows啓動程序(Wininit exe),本地安全驗證(Lsass.exe)與服務(services.exe)進程,完成後,您就可以登錄您的系統了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章