原创 Intel® 64 and IA-32 Architectures Software Developer's Manual:Vol 3 Section 11

第十一章 內存緩存控制 這一章描述了內存緩存和緩存控制機制,TLB和Intel 64、IA-32處理器內的存儲緩存。同時描述了內存類型區域寄存器(MTRR),該寄存器在P6家族被引入。以及怎樣用於控制物理內存位置的緩存行爲。 11.1

原创 MMU地址轉譯的位數選擇

從虛擬地址轉譯物理地址,頁面爲什麼選4K大小?PDT和PT索引爲什麼佔10位? 定義一個頁面大小爲:P=2y;y爲頁面所佔位數;x爲PDT和PT所佔位數P=2y;y爲頁面所佔位數;x爲PDT和PT所佔位數 給出下面兩個公式 {2x+y

原创 Q & A

疑惑的地方,求大牛指點 BIOS啓動過程分析中,內存初始化什麼時候?與DMA Controlor的初始化有什麼關係?

原创 LogonUser[advapi32.dll] 驗證當前賬戶是否有密碼

Code #include <windows.h> #include <Ntsecapi.h> #include <stdio.h> #pragma comment(lib, "Secur32.lib") int main() {

原创 線程啓動

Wrk KeInitThread(KThread, KernelStack, SystemRoutine, StartRoutine, StartContext, ContextFrame, Teb, KProcess) { 1

原创 Intel® 64 and IA-32 Architectures Software Developer's Manual:Vol 3 Section 10

第十章 高級可編程中斷處理器(APIC) 高級可編程中斷處理器(參考以下章節的本地APIC)在IA-32的Pentium處理器上被引入(參照22.27節,高級可編程中斷處理器),同時包含在P6家族,Pentium 4,Intel 志強處

原创 AWE & PAE

PAE和AWE本質上是無關的東西 PAE PAE是需要硬件支持的,32位地址總線變成36條,那麼尋址範圍從4G變成了64G;此外PDE和PTE中的pfn的範圍也大了(頁大小沒有變),所以PDE和PTE的長度就變了,成了8字節,那麼虛址物

原创 Intel® 64 and IA-32 Architectures Software Developer's Manual:Vol 3 Section 6

第六章 任務管理器 這章描述了IA-32架構任務管理機制。這些機制只在處理器運行於保護模式時有效。 這章關注於32位任務和32位TSS數據結構。對於16位任務和16位TSS數據結構,參照6.6節,16位任務狀態段(TSS)。對於64位模

原创 Big Mode

首先,說下開機後CPU的第一個動作:CS=DS=ES=SS=0xFFFF,IP=0x0000。因爲當前模式是實模式,CS:IP指向的地址實際是0xFFFF0,這個地址存的是個far jump,去跳到BIOS的POST階段(BIOS在Fl