1、 32位系統支援的最大位址空間4gb(2^32),為何是4gb而不是4gb呢?因為最小儲存單元是byte(這個是由系統決定,有些系統可能不一樣)。
由上可知:記憶體條容量大於4gb時,32位系統可能會浪費記憶體。記憶體條小於4gb時,32位系統支援的最大定址空間由記憶體條容量決定。
2、 虛擬記憶體是為了擴充程式大於記憶體條容量時虛擬出來的邏輯位址空間,虛擬記憶體一般存在硬碟上。
由上可知:程式占用的記憶體一般等於虛擬記憶體+記憶體
3、 程式執行時,一般都會分配4gb(32位系統)的虛擬記憶體。若程式大約4gb,基本上在32位系統上無法執行。
4、雖然32位系統的最大定址空間是4gb,但是4gb並不是程式都能使用,只有不到2gb的位址空間分給程式用,2gb的位址空間分給核心程式使用(雖然實際使用都不到2gb)。但是可以通過配置,使得程式使用的定址空間大於2gb,但一般小於等於3gb。
5、 32位系統中的32指的是位址匯流排個數,表示位址匯流排有32根,每根可以表示0或1兩種狀態。
6、 虛擬記憶體與物理記憶體的對映是通過系統的頁表實現的,一般當查詢失效時(系統的頁面失效排程機制),會將虛擬記憶體對應的內容存入到記憶體中。
虛擬記憶體位址=頁號+偏移量
windows核心程式設計筆記(一)
1.setwindowredraw 設定視窗的可重繪狀態 這個函式是不是把整個視窗 包括視窗控制項 的和重繪相關的訊號 遮蔽掉了?2.combobox setitemdata 巨集 函式原型 int combobox setitemdata hwnd hwndctl,空間控制代碼 int index...
《Windows核心程式設計》筆記1 核心物件
由於.net framework中很多地方需要用到以前win32中的一些知識點,不了解其中的來朧去脈學習起來會比較吃力,於是準備用點時間補一下windows 核心方面的知識點,參考書本是經典的核心物件是核心分配的乙個記憶體塊,這種記憶體塊是乙個資料結構,表示核心物件的各種特徵。並且只能由核心來訪問。...
Windows核心程式設計筆記 (3)核心物件
每個核心物件都只是乙個記憶體塊,它由作業系統核心分配,並只能由作業系統核心訪問,這個記憶體塊是乙個資料結構,其成員維護著於物件相關的資訊。少數成員是所有物件都有的,像安全描述符和使用計數等 大多數成員是特有的,像程序物件的程序id,檔案物件的位元組偏移量。由於核心物件的資料結構只能由作業系統核心訪問...