1.windows使用兩種處理器特權級別:1.核心 2.使用者
2.幾乎所有的**都在使用者模式,除了作業系統和硬體驅動
3.使用者模式不能直接訪問硬體,它被限制只能訪問cpu上所有暫存器和可用指令的乙個子集,所以我們為了改變硬體或者修改核心中的狀態,必須依賴api
4.進入核心模式的方式:sysenter,syscall或者int 0x2e,指定乙個呼叫進入核心
原生api:
說明:普通的程式呼叫api時候(kernel,user32這些dll中的函式),這些dll會先呼叫ntdll,ntdll主要負責使用者與核心的互動,然後處理器切換到核心模式,並且執行核心中的函式,通常位於ntoskrnl.exe中
使用者模式與核心模式
首先了解一下使用者模式和核心模式。一般說來,程序既可在使用者模式下執行,又可在核心模式下執行。核心模式的許可權高於使用者模式的許可權。程序每次呼叫乙個系統呼叫時,程序的執行方式都發生變化 從使用者模式切換到核心模式,然後繼續執行。可見 乙個程序在cpu上執行可以有兩種執行模式 程序狀態 使用者模式和...
理解Windows核心模式與使用者模式
理解windows核心模式與使用者模式 核心層次架構 windows程式執行分為核心模式和使用者模式,核心模式可以訪問所有的記憶體位址空間,並且可以訪問所有的cpu指令。一般程式執行在使用者模式,通過系統呼叫切換到核心模式執行系統功能,windows系統通過這種方式來確保系統的安全和穩定。下面是核心...
理解Windows核心模式與使用者模式
核心層次架構 windows程式執行分為核心模式和使用者模式,核心模式可以訪問所有的記憶體位址空間,並且可以訪問所有的cpu指令。一般程式執行在使用者模式,通過系統呼叫切換到核心模式執行系統功能,windows系統通過這種方式來確保系統的安全和穩定。下面是核心的層次劃分 硬體抽象層 hardware...