windows 虛擬記憶體

2022-08-19 15:00:13 字數 554 閱讀 2621

虛擬記憶體的實現方法和過程:

(1) 當乙個應用程式被啟動時,作業系統就建立乙個新的程序,被給每個程序分配2gb的虛擬位址(不是記憶體,只是位址)

(2) 虛擬記憶體管理器將應用程式的**對映到那個那個應用程式的虛擬位址中的某個位置,並把當前所需要的**讀取到實體地址中(注意: 虛擬位址和應用程式**的實體地址記憶體中的位置是沒有關係的).

(3) 如果使用動態鏈結庫dll,dll 也被對映到程序的虛擬位址空間,在需要的時候才會被讀到物理記憶體。

(4) 其他專案(資料,堆疊等)的空間是從物理記憶體中分配的,並被對映到虛擬記憶體空間中。

(5) 應用程式通過使用他的虛擬位址空間中的位址開始執行,然後虛擬記憶體管理器把每次的記憶體訪問對映到物理位置。

簡單的說:

(1) 應用程式是不會直接訪問實體地址的

(2) 虛擬記憶體管理器通過虛擬位址的訪問請求,請控制所有的實體地址訪問。

(3) 每個應用程式都是相互獨立的4gb定址空間,不同應用程式的位址空間是隔離。

(4) dll程式沒有自己的私有空間,他們總是被對映到其他程式的應用空間,作為其他應用程式的一部分執行。

windows筆記 虛擬記憶體

windows提供了3種進行記憶體管理的方法 虛擬記憶體,最適合用來管理大型物件或結構陣列。記憶體對映檔案,最適合用來管理大型資料流 通常來自檔案 以及在單個計算機上執行的多個程序之間共享資料。記憶體堆疊,最適合用來管理大量的小物件。pvoid virtualalloc pvoid pvaddres...

《Windows核心程式設計》筆記 虛擬記憶體 記憶體

1 32位系統支援的最大位址空間4gb 2 32 為何是4gb而不是4gb呢?因為最小儲存單元是byte 這個是由系統決定,有些系統可能不一樣 由上可知 記憶體條容量大於4gb時,32位系統可能會浪費記憶體。記憶體條小於4gb時,32位系統支援的最大定址空間由記憶體條容量決定。2 虛擬記憶體是為了擴...

windows虛擬記憶體(win32)

windows是乙個以虛擬記憶體為基礎的作業系統。在這種系統環境下,windows記憶體管理器經常在記憶體中來回移動物件,依此來 滿足各種應用程式的記憶體需要。物件被移動意味著它的位址變化了。如果位址總是如此變化,我們該到 去找物件呢?為了解決這個問題,windows作業系統為各應用程式騰出一些記憶...