1.(x86)每个进程都有4GB的虚拟内存
2.(x86)中物理内存以4KB的大小进行分页管理
(X86)
低2GB称为用户空间
高2GB称为内核空间
0X00000000----0X0000FFFF 空指针赋值区
0X00010000----0X7FFEFFFF 用户模式区
0X7FFF0000----0X7FFFFFFF 64KB禁入区
0X80000000----0XFFFFFFFF 内核
3.私有内存的申请和释放
物理页分为:
1.私有 进程独占
2.映射 多进程共享
(1)申请内存的两种方式
1.通过VirtualAlloc() / VirtualAllocEx() 函数申请私有的
2.通过CreateFileMapping() 函数申请映射的
LPVOID p=VirtualAlloc(
LPVOID ipAddress, //要分配的内存区域的地址
DWORD dwSize, //分配的大小
DWORD flAllocationType, //分配的类型 MEM_COMMIT MEM_RESERVE
DWORD flProtect //该内存的初始保护属性
)
(2)释放内存
VirtualFree(
p,
DWORD dwSize,
类型参数
)
4.共享内存的申请和释放
HANDLE g_hMapFile=CreateFileMapping(
INVALID_HANDLE_VALUE,
NULL,
PAGE_READWRITE,
0,
sizeof(int),
NULL);
Comments NOTHING