久久久噜噜噜久久人人看 _国产精品一级片在线观看_久久九九精品视频_国产毛片一区二区三区_欧美日韩99_黄网站免费久久_国产精品久久久久精k8 _欧美96在线

windows虛擬內存機制

windows虛擬內存機制

在 Windows 系統中,每個進程都擁有自己獨立的虛擬地址空間(virtual address space)。虛擬內存機制使得應用程序認為它擁有連續可用的內存(一個連續完整的地址空間),而實際上,它通常被分隔成多個物理內存碎片,還有部分暫時存儲在外部磁盤存儲器上。
以下是 Windows 內存分配過程的三個要點:

  1. 保留一段虛擬內存地址空間:使用帶mem_reserve參數的VirtualAlloc函數從進程的 4GB 空間中保留一段地址空間。起始地址必須是系統分配粒度的整數倍(通常為 64KB),大小必須是系統頁面大小的整數倍(通常為 4KB)。
  2. 提交一段虛擬內存地址空間:通過帶mem_commit參數的VirtualAlloc函數,將進程已保留的一段地址空間映射到機器的虛擬內存上。起始地址和大小同樣都必須是頁面大小的整數倍(4KB)。
  3. 將虛擬內存地址空間映射到物理內存頁(RAM):當訪問進程提交的頁面時,如果該頁面不在物理內存頁中,將產生一個缺頁中斷(又名頁缺失、頁面錯誤,page fault),系統會通過該機制真正分配物理內存頁,同時修改對應頁面的地址空間映射關系。

進程地址空間分布(以常見的 2GB 為例):Windows 系統在進程空間中專門劃出一塊 0x70000000–0x80000000(共 256MB)區域,用于映射常用的系統 DLL(如 kernel32.dll、ntdll.dll 等)。并且,系統會對系統 DLL 的默認基地址進行調整,防止加載時沖突,觸發重定基地址(rebasing)。需要注意的是,基地址必須對齊到分配粒度(64KB)。
另外,在生成 EXE 和 DLL 模塊時,可以使用/dynamicbase鏈接參數啟用動態基地址(Address Space Layout Randomization,ASLR),它可以實現地址空間布局隨機化,防范惡意程序對已知地址進行攻擊。
Windows 虛擬內存機制涉及的一些內存指標概念如下:
  • 虛擬內存
    • private bytes:進程已提交(committed)的虛擬內存字節數,對應vmmapprivate、Win7 任務管理器中的【提交大小】、資源管理器中的【提交】。
    • peak private bytes:進程已提交的虛擬內存的最高峰字節數。
    • virtual size:進程保留(reserved)的虛擬地址空間字節數。
    • page faults:發生過的缺頁中斷次數,對應 Win7 任務管理器中的【頁面錯誤】。

  • 物理內存
    • working set = ws private + ws shareable:進程占用物理內存的總字節數,對應 Win7 任務管理器中的【工作設置 (內存)】、資源管理器中的【工作集】。
    • ws private:進程獨享的物理內存字節數,例如堆內存、棧內存、通過寫時復制(copy-on-write,COW)機制創建的內存等,對應 Win7 任務管理器中的【內存 (專用工作集)】、資源管理器中的【專用】。
    • ws shareable:進程可與其他進程共享的物理內存字節數,例如 EXE 及 DLL 代碼段、數據段等,對應 Win7 資源管理器中的【可共享】。
    • ws shared:進程已與其他進程共享的物理內存字節數,且ws shared <= ws shareable。若只啟動一個 EXE 實例,那么 EXE 的代碼段、數據段等不會被共享,因而就不統計在ws shared中。
    • peak working set:物理內存的最高峰字節數,對應 Win7 任務管理器中的【峰值工作設置 (內存)】。


無論是虛擬內存還是物理內存下的各個指標,通常都是通過統計用戶態的那部分占用情況得出的。
為了擴大地址空間、對特定的內存地址提供寫保護和公平分配內存等,Windows 系統采用了虛擬內存技術。但該技術也存在一些局限性,例如可能會浪費內存、增加指令的執行時間等。
頁交換文件(pagefile)一般被用作可寫物理內存頁的后備存儲器,在 Windows 系統中該文件名為 pagefile.sys,位于各盤的根目錄中。當物理內存不夠時,系統會進行頁出(pageout)操作,將一些不經常使用且有后備的物理內存頁釋放,并根據情況將虛擬地址映射關系指向后備:
  1. 以頁交換文件(如堆、棧等)為后備:在頁交換文件中分配空間,并拷貝內容到其中后再釋放。
  2. 以內存映射文件(如 EXE、DLL 等)為后備:直接釋放。

而當系統讀取某個虛擬內存地址,而該地址所在的頁不在物理內存頁中時,將產生一個缺頁中斷,觸發頁入(pagein)操作,告訴系統從頁交換文件或者內存映射文件中取回包含該地址的虛擬內存頁(即將內容拷回到物理內存頁,并建立新的虛擬地址映射到物理內存頁上,然后釋放頁交換文件中對應部分的空間)。
此外,系統在映射 EXE 或 DLL 文件時會把數據頁指定為page_writecopy屬性,把代碼頁指定為page_execute_writecopy屬性,利用寫時復制機制節省物理內存和頁交換文件的占用。當進程對具有writecopy屬性的內存頁面執行修改操作時,系統會找一個閑置的物理內存頁,并拷貝所有內容到新頁上,然后標記新頁的后備存儲器為頁交換文件,最后將進程的虛擬內存頁指向新的物理內存頁。經過上述步驟,進程就可以使用新的頁面進行操作。
在 32 位 Windows 系統中,程序最多能使用 2GB 空間(0x00010000-0x7ffeffff)。若要獲得 3GB 的地址空間,可以參考以下方法:
  1. 操作系統方面
    • 32 位 Windows XP:無具體方法。
    • 32 位 Win7:管理員權限執行命令bcdedit /set increaseuserva 3072來開啟。
    • 64 位 Win7:對 32 位程序默認開啟 3GB,無需額外設置。

  2. 應用程序方面:無論是 32 位還是 64 位 Windows,若要讓 32 位程序能使用 3GB 內存,必須在鏈接時加上參數/largeaddressaware

看過該文章的人還看了
黄视频网站在线观看| 成人高清在线| av福利在线导航| 亚洲激情77| 黄页视频在线91| 樱桃视频在线观看一区| 欧美在线视频你懂得| 欧美色窝79yyyycom| 欧美日韩激情小视频| 自拍av一区二区三区| 一区二区三区免费看视频| 黑人巨大精品欧美一区免费视频 | 亚洲婷婷伊人| 日韩在线成人| 中文字幕日韩欧美精品高清在线| 久久精品综合网| 国产精品亚洲视频| 99精品黄色片免费大全| 色呦呦国产精品| 超碰个人在线| 日韩国产一区| 香蕉成人啪国产精品视频综合网| 青青草免费在线视频| 亚洲欧洲高清| 丁香婷婷久久| 午夜欧美精品| 国产一二三精品| 欧美特黄不卡| 国产精品亚洲一区二区三区在线观看 | 欧美v日韩v国产v| 亚洲三级黄色在线观看| 中文在线аv在线| 精品亚洲成a人| 伊人激情综合| 日韩欧美在线观看| 伊人久久国产| 毛片一区二区三区| 91女主播在线观看| 亚洲激情五月婷婷| 亚洲精品色图| av在线电影播放| 国产98色在线|日韩| 日韩一级大片在线观看| 自拍在线观看| 妖精视频成人观看www| 精品成人av一区| 69久久精品| 爽好多水快深点欧美视频| 精品久久中文字幕| 777亚洲妇女| youjizz在线播放| 99视频这里有精品| 久久精品人人做人人爽电影蜜月| 久久久久久久电影| 日色在线视频| 欧美日韩国产精品一区二区亚洲| 久久综合久久久久88| 成年在线电影| 奇米色一区二区| 粗大的内捧猛烈进出在线视频| 成人午夜888| 亚洲国产精品成人综合色在线婷婷 | 色播视频在线观看| mm视频在线视频| 久久99在线观看| 亚洲欧美日韩中文视频| jlzzjlzz亚洲女人| 日韩一区二区三区av| 91亚洲精品| 国内久久精品| 亚洲成人www| 中文国产字幕在线观看| 欧美精品午夜| 日韩欧美在线免费| 美女视频在线免费| 欧美高清hd18日本| 亚洲国产日本| 色哟哟国产精品免费观看| 不卡在线一区| 蜜桃tv在线播放| 成人性视频免费网站| 青青影院在线观看| 亚洲天天影视网| 亚洲综合激情网| 久久密一区二区三区| 欧美一区二区三区色| 精品一区视频| 色哟哟一区二区三区| 福利一区三区| 不卡的看片网站| 中文字幕一区二区三区免费视频| 日韩欧美一区二区三区免费看| 亚洲视频每日更新| 日本三级视频在线播放| 中文字幕+乱码+中文字幕一区| 精品视频91| 日韩女优电影在线观看| 欧美国产高清| 成人免费一区二区三区牛牛| 亚洲国产三级在线| 欧美色就是色| 国内精品久久久久国产| 一本一道久久a久久精品| 成人爽a毛片| 欧美性精品220| 在线视频1区2区| 久久久亚洲精品石原莉奈 | 国产精品毛片一区二区三区四区| 亚洲网站啪啪| 人与动性xxxxx免费视频| 久久久噜噜噜| 尤物视频在线免费观看| 粉嫩13p一区二区三区| 自拍偷拍欧美日韩| 国产激情视频网址| 亚洲日本一区二区三区| 国产精品视屏| 日本免费中文字幕在线| 亚洲1区2区3区4区| 性色一区二区| 综合久久综合| 激情综合在线| 91精品国产乱码久久久久久| 精品欠久久久中文字幕加勒比| 中文字幕在线免费观看视频| 免费资源在线观看| **欧美大码日韩| 黑人一区二区| 国产污视频在线| 一本到高清视频免费精品| 亚洲一级在线| 亚洲久草在线| 免费av在线网站| 欧美日韩aaaaaa| 日韩高清在线观看| 婷婷国产精品| eeuss影院www在线观看| 亚洲国产成人精品女人久久久 | 欧美天堂一区二区三区| 日韩国产欧美在线播放| 97久久精品一区二区三区的观看方式| 日韩欧美在线一区| 亚洲一级毛片| 欧美18xxxxx| 一区二区三区不卡视频| 成人短片线上看| 精品久久久久久久久久久久包黑料 | 国产精品18久久久久久久久久久久| 爱搞国产精品| 亚洲欧美经典视频| 国产一区高清在线| 国户精品久久久久久久久久久不卡| а√中文在线天堂精品| 宅男在线观看免费高清网站| 日本精品600av| 波多视频一区| 精品动漫av| eeuss国产一区二区三区| 91在线观看高清| 亚洲欧洲精品一区二区三区不卡 | 亚洲欧美成人一区二区在线电影| 91国模大尺度私拍在线视频| 狠狠色狠狠色综合| 亚洲乱码视频| 99精品美女| 精品一区二区三区的国产在线观看| 成人av影音| 在线日韩成人| va天堂va亚洲va影视| 久久综合色播| 日韩欧美高清一区| 色美美综合视频| 欧美激情一区三区| 国产成人免费视| 日韩极品在线观看| 一区在线播放| 久久精品久久久精品美女| 裸体素人女欧美日韩| 精品一区二区在线播放| 欧美成人精品午夜一区二区| 成人亚洲精品| 欧美在线色图| 99久久夜色精品国产亚洲96| 美女网站在线免费欧美精品| 欧美亚一区二区| 成人在线播放视频| 在线看三级网站视频| 91福利区一区二区三区| 久久精品一区蜜桃臀影院| 久操精品在线| 伊人免费在线| 日韩精品在线观看一区二区| 成人在线观看一区| 精品日本12videosex| 久久亚洲精精品中文字幕早川悠里| 黑人巨大精品欧美一区二区| 免费在线黄网| 成人福利电影| 黄色欧美在线| 欧美精品一卡|