VC语言

本类阅读TOP10

·VC++ 学习笔记(二)
·用Visual C++打造IE浏览器(1)
·每个开发人员现在应该下载的十种必备工具
·教你用VC6做QQ对对碰外挂程序
·Netmsg 局域网聊天程序
·Windows消息大全
·VC++下使用ADO编写数据库程序
·VC++学习笔记(四)
·非法探取密码的原理及其防范
·怎样在VC++中访问、修改注册表

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
内存管理之二

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

Virtual Address Space(虚拟地址空间)

 

 虚拟地址表示的是进程中非实际物理地址的位置。换句话说就是,系统为每个进程维护着一个页面映射,这个页面映射是一个内部的数据结构,它的作用是将虚拟地址转换为相应的物理地址。

 虚拟地址空间分为以下几部分:

Windows NT 4.0 SP3 Server Enterprise Edition, Windows 2000 Advanced Server, and Windows .NET Enterprise Server:一般的,进程能够使用低端的3GB空间(0x00000000 0xBFFFFFFF)。高端的1GB内存(0xC0000000 0xFFFFFFFF)为系统保留部分。

Windows NT/2000/XP: 进程能够使用低端的2GB内存(0x00000000 0x7FFFFFFF),高端的2GB内存(0x80000000 0xFFFFFFFF)系统保留。

Windows 95/98/Me: 对应描述如下表

区间

用途

0K - ~64K (0xFFFF)

不可写。这块区域大约应是为系统装载一些MSDOS的特性而保留的。这块内存对于进程而言是私有的。

~64K (0x10000) -
4 MB (0x3FFFFF)

为兼容MS-DOS保留。这块内存对进程而言可读可写。然而,这段区域有可能保存着一些MSDOS相关的结构或代码,所以进程不应该在这段区域随意读出或写入。这块内存对于进程而言是私有的。

4MB (0x400000) -
2GB (0x7FFFFFFF)

用于代码和用户数据。用户数据可读可写。代码是只执行的。这块内存对进程而言是私有的。

2GB (0x80000000) -
3GB (0xBFFFFFFF)

共享区。对于所有进程都可读写。一些系统的动态连接库和其它一些数据装载到这段区域。

3GB (0xC0000000) -
4GB (0xFFFFFFFF)

系统内存。对任意进程都是可读可写。然而,需要注意的是,这段内存是保存低等级的系统代码的地方,所以,向这片区域写入数据可能会破坏系统可能造成灾难性后果。.

 

详情请参阅MSDN

 

下期预告:

Virtual Memory Functions  (虚拟内存函数族)




相关文章

相关软件