日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

内存体系 用共享段于进程间联系

發(fā)布時(shí)間:2025/3/20 编程问答 9 豆豆
生活随笔 收集整理的這篇文章主要介紹了 内存体系 用共享段于进程间联系 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

內(nèi)存體系結(jié)構(gòu)
虛擬地址分區(qū):空指針賦值分區(qū),用戶模式分區(qū),64KB禁入分區(qū),內(nèi)核模式分區(qū)
在默認(rèn)情況下運(yùn)行一個(gè)64位的應(yīng)用程序,系統(tǒng)會(huì)保留用戶模式地址空間中位于地址0x00000000'80000000(2G)之后的所有部分;
這確認(rèn)所有的內(nèi)存分配在低2G上,這就是所謂的地址空間沙箱,可以用Yes (/LARGEADDRESSAWARE) link開(kāi)關(guān)打開(kāi)。dll工程會(huì)忽略此開(kāi)關(guān)。

當(dāng)系統(tǒng)創(chuàng)建一個(gè)進(jìn)程并賦予它地址空間時(shí),調(diào)用VirtualAlloc來(lái)預(yù)訂,再還是通過(guò)VirtualAlloc來(lái)調(diào)撥物理內(nèi)存與之映射。用VirtualFree來(lái)撤銷調(diào)撥。
當(dāng)應(yīng)用程序調(diào)用VirtualAlloc函數(shù)來(lái)把物理存儲(chǔ)器調(diào)撥給地址空間區(qū)域時(shí),該空間實(shí)際上是從硬盤上的頁(yè)交換文件分配得到的。

當(dāng)用戶要求執(zhí)行一個(gè)應(yīng)用程序時(shí),系統(tǒng)會(huì)打開(kāi)該應(yīng)用程序?qū)?yīng)的.exe文件并計(jì)算應(yīng)用程序的代碼和數(shù)據(jù)的大小,然后系統(tǒng)會(huì)預(yù)訂一塊地址空間,并注明與該區(qū)域
相關(guān)聯(lián)的物理存儲(chǔ)器就是.exe文件本身。系統(tǒng)不會(huì)從頁(yè)面交換文件中調(diào)撥物理內(nèi)存,因?yàn)檫@樣拷貝代碼與數(shù)據(jù)到頁(yè)面交換文件中,這是低效的。此時(shí)的EXE文件也叫內(nèi)存映射文件。

可以為每個(gè)物理存儲(chǔ)頁(yè)指定不同的頁(yè)面保護(hù)屬性。非閑置區(qū)域的基地址都是64KB(分配粒子)的整數(shù)倍。
地址空間中區(qū)域類型:
閑置:未預(yù)定
私有:以頁(yè)面交換文件為后備存儲(chǔ)器
映像:一開(kāi)始以映像文件(EXE或DLL文件)為后備存儲(chǔ)器,后來(lái)如果寫入映像文件一個(gè)全局變量,那么寫時(shí)復(fù)制會(huì)改用頁(yè)交換后備存儲(chǔ)器。
已映射:一開(kāi)始以內(nèi)存映射文件為后備存儲(chǔ)器,后來(lái)內(nèi)存映射文件可能會(huì)使用寫時(shí)復(fù)制保護(hù)屬性,任何寫操作會(huì)改用頁(yè)交換后備存儲(chǔ)器。

為節(jié)省磁盤空間,鏈接器會(huì)盡可能地對(duì)所生成的PE文件進(jìn)行壓縮。當(dāng)WINDOWS將PE文件映射到進(jìn)程空間時(shí),每一段(SECTION)必須另起一頁(yè),而且起始地址為系統(tǒng)頁(yè)面的整數(shù)倍。
如果程序試圖寫入?yún)^(qū)域中具有PAGE_WRITECOPY或PAGE_EXECUTE_WRITECOPY屬性的頁(yè)面,那么系統(tǒng)會(huì)專門為進(jìn)程復(fù)制一份該頁(yè)面。

第14章 操作系統(tǒng)的許多系統(tǒng)信息是由系統(tǒng)所運(yùn)行的主機(jī)決定的,如頁(yè)面大小和分配粒度等。GetSystemInfo(LPSYSTEM_INFO psi)
為了讓32位的應(yīng)用程序也能在64位系統(tǒng)上運(yùn)行,microsoft提供了Windows 32-bit On Windows 64-bit的模擬層,又稱WOW64。IsWow64Process函數(shù)

非統(tǒng)一內(nèi)存訪問(wèn)(Non-Uniform Memory Access)NUMA機(jī)器中的CPU既能訪問(wèn)自己節(jié)點(diǎn)的內(nèi)存,也能訪問(wèn)其他節(jié)點(diǎn)的內(nèi)存。

確定地址空間的狀態(tài) VirtualQuery(Ex)
在Windows Vista上,如果啟動(dòng)多次一個(gè)EXE,其加載的同一DLL的位置可能不同,這是windows vista的地址空間布局隨機(jī)化(Address Space Layout Randomization)ASLR.

?

widows提供了以下三種機(jī)制來(lái)對(duì)內(nèi)存進(jìn)行操控:
虛擬內(nèi)存:最適合用來(lái)管理大型對(duì)象數(shù)組或大型結(jié)構(gòu)數(shù)組
內(nèi)存映射文件:最適合用來(lái)管理大型數(shù)據(jù)流(通常是文件),以及在同一機(jī)器上運(yùn)行的多個(gè)進(jìn)程之間共享數(shù)據(jù)
堆:最適合用來(lái)管理大量的小型對(duì)象

虛擬內(nèi)存:最適合用來(lái)管理大型對(duì)象數(shù)組或大型結(jié)構(gòu)數(shù)組
VirtualAlloc?MEM_RESERVE預(yù)訂? MEM_COMMIT調(diào)撥??? 基地址通常會(huì)被向下取整到頁(yè)面大小的整數(shù)倍,而大小則會(huì)被向上取整到頁(yè)面大小的整數(shù)倍。
VirtualFree?撤銷調(diào)撥
VirtulaProtect 改變頁(yè)面的保護(hù)屬性

地址窗口擴(kuò)展Address Windowing Extension(AWE):1.系統(tǒng)不會(huì)把以這種方式分配的內(nèi)存換出到磁盤上;2.允許應(yīng)用程序訪問(wèn)比進(jìn)程地址空間還要多的內(nèi)存。

系統(tǒng)默認(rèn)會(huì)預(yù)訂1MB的地址空間并調(diào)撥兩個(gè)頁(yè)面的存儲(chǔ)器,?/STACK 指定的值寫入PE文件頭
_beginthreadex中的參數(shù)優(yōu)先于上面的值
棧頂棧低都有保護(hù)區(qū)間

內(nèi)存映射文件 (windows許多方法用此來(lái)在進(jìn)程間傳送數(shù)據(jù))

?

#include <Windows.h>#pragma data_seg("MySec") volatile LONG g_lApplicationInstances = 0; //要初始化,否則會(huì)放入.bss未初始化數(shù)據(jù)段,如不初始化要用allocate #pragma data_seg()#pragma comment(linker, "/Section:MySec,RWS") //R READ W WRITE S SHARED #pragma comment(linker, "/subsystem:\"windows\" /entry:\"wmainCRTStartup\"") //關(guān)閉CMD窗口void wmain() {InterlockedExchangeAdd(&g_lApplicationInstances, 1);int bRet = 0;do{wchar_t buf[3] = { '\0' };_itow_s(g_lApplicationInstances,buf,3,10);bRet = MessageBoxW(NULL,buf,NULL,MB_YESNO);}while(bRet == IDYES );InterlockedExchangeAdd(&g_lApplicationInstances, -1); }


?

總結(jié)

以上是生活随笔為你收集整理的内存体系 用共享段于进程间联系的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 丰满圆润老女人hd | 国产乱人乱偷精品视频a人人澡 | 日韩美女久久 | 日本三级视频在线观看 | 婷婷激情久久 | 欧美日一区二区 | 69av视频在线观看 | 国产精品a久久久久 | 香港台湾日本三级大全 | 精品黑人一区二区三区观看时间 | 午夜爱爱毛片xxxx视频免费看 | 五月色婷 | 亚洲精品午夜国产va久久成人 | 日韩亚洲欧美一区 | 欧美精品一级在线观看 | 久久免费偷拍视频 | 91视频合集| 国产亚洲精品久久久久久久久动漫 | 在线一区观看 | 成人免费看类便视频 | 麻豆传媒一区二区三区 | 国产成a人亚洲精v品无码 | 国产精品无码久久久久高潮 | 欧美日韩色片 | 三级三级久久三级久久 | 探花一区 | 精品国产一区二区三区四区 | 女尊高h男高潮呻吟 | 97视频免费 | 中国精品久久 | av日韩在线免费观看 | 久久久久毛片 | 精品亚洲国产成av人片传媒 | 精品久久久久久久中文字幕 | 亚洲国产电影在线观看 | 亚洲一区二区观看 | 亚洲欧美一区二区精品久久久 | 亚洲AV无码久久精品色三人行 | 91小仙女jk白丝袜呻吟 | 免费成人福利视频 | 日本中文字幕视频在线 | 午夜精品网 | 性一交一乱一精一晶 | 91嫩草在线| 亚洲精品一二三区 | 就要爱爱tv| 中日韩av电影 | 亚洲乱码国产乱码精品精软件 | 不卡的av在线播放 | 性――交――性――乱睡觉 | 亚洲第一页视频 | 久久青青国产 | 少妇又白又嫩又色又粗 | 色噜噜狠狠一区二区三区牛牛影视 | 91中文字日产乱幕4区 | 精品久久久久久久久久岛国gif | 黄色一级片黄色一级片 | 国产一级啪啪 | 欧美亚洲色综久久精品国产 | 男人午夜剧场 | 无码国产精品一区二区高潮 | 噼里啪啦动漫 | 中文字幕成人在线观看 | 成人蜜桃av| 黄色精品免费 | 九九热九九| 快播91| 四虎1515hh.com| 91久久一区二区三区 | 欧美色88 | 欧美精品一区二区在线播放 | 黄色大片视频 | 一本色道综合久久欧美日韩精品 | 亚洲精品乱码久久久久久黑人 | 制服.丝袜.亚洲.中文.综合懂色 | 欧美打屁股| 国产精品v亚洲精品v日韩精品 | 肉丝美足丝袜一区二区三区四 | 色综合av | 亚洲视频一区二区在线观看 | 国产噜噜噜 | 天堂网一区 | 免费观看毛片 | 欧美超碰在线 | 永久免费看mv网站入口78 | 亚洲精品欧美激情 | 99国产精品久久久久久久成人热 | 日本欧美视频 | www视频在线观看 | 国产专区一区二区三区 | 爱情岛论坛亚洲品质自拍 | 亚洲欧美日本一区二区三区 | 蜜臀一区二区三区精品免费视频 | 91成人网页 | 一区二区三区国产精品 | 日本高清视频在线观看 | 91好色先生tv| 西西人体高清44rt·net | 少妇偷人精品无码人妻 |