内存管理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

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值