• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

内存管理之二

发布: 2007-7-01 20:40 | 作者: admin | 来源: | 查看: 13次 | 进入软件测试论坛讨论

领测软件测试网

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)

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

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

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

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

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

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

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

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

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

 

详情请参阅MSDN

 

下期预告:

 (虚拟内存函数族)


延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网