内存管理API

1. 基本概念

    (1) 地址空间。

     系统所有可用的内存地址集合称为地址空间。

    (2) 物理内存

    硬件系统中真实存在的存储空间称为物理内存,物理内存的访问通过硬件系统的总线进行。但不是每台32位机都具有4GB的内存空间。

    (3) 虚拟地址空间。

    为了访问内存的统一和方便,操作系统允许其上运行的程序访问所有4GB的内存空间中的地址。操作系统会做一些转换的地址转换工作,将程序的访问的地址转换为物理内存中的真实地址,然后进行数据的存储。操作系统进行转换后,供程序使用的地址空间称为虚拟地址空间。在32位系统上,可以使用的虚拟地址空间是4GB.

    (4) 进程中的内存空间:用户内存空间与内核内存空间。

    WINDOWS操作系统中的每个进程都有属于自己的虚拟地址空间。32位的windows操作系统将4GB的虚拟内存划分为两个部分,进程使用2GB,称为用户进程空间;内核使用2GB,称为系统地址空间或内核地址空间。

 

需要了解的内容:

(1) 虚拟地址空间中的数据时分页管理的;

(2) 应用程序不用考虑系统中其他应用程序的内存使用情况,如占用了多少内存、占用了哪些内存;

(3) 虚拟地址并不是物理地址空间中的地址,不是数据在内存中的真实存在的地址,操作系统会将进程的虚拟地址映射到真实的物理地址上。

(4) 进程也不用考虑真实的物理地址有多大,只需要知道了解可以使用2GB(一般情况下)的内存,操作系统负责转换;

(5) 如果系统中没有足够的物理内存供使用,那么操作系统会将当前没有使用的内存分页“调度”到硬盘上保存起来。

 

 

堆管理API

HeapCreate

GetProcessHeap

GetProcessHeaps

HeapAlloc

HeapReAlloc

GetSystemInfo

HeapSize

HeapFree

HeapDestory

 

虚拟内存管理

VirtualAlloc

VirtualAllocEx

VirtualFree

VirtualFreeEx

VirtualProtect

VirtualLock

VirtualUnlock

 

内存操作与内存信息管理API

CopyMemory

FillMemory

MoveMemory

ZeroMemory

GlobalMemoryStatusEx

IsBadCodePtr

IsBadReadPtr

IsBadStringPtr

IsBadWritePtr

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值