Windows2000虚拟地址空间是如何划分的

转载 2012年03月26日 14:13:50

0~0XFFFF(64KB):不能用来检测空指针赋值(访问冲突) 

0x10000(64KB)~0x7FFEFFFF(2GB-64KB):Win32进程私有的(非保留的),用于程序代码和数据

0x7FFF0000(2GB-64KB)~0x7FFFFFFF(2GB):不能用来防止覆盖OS分区(访问冲突)

0x800000000(2GB)~0xFFFFFFFF(4GB):为操作系统保留,不可访问(访问冲突)

Windows2000虚拟地址空间使用

0x00030000~0x0012FFFF:线程栈

0x00130000~0x003FFFFF:堆(有时堆位于此处)

0x00400000~0x005FFFFF:可执行代码

0x00600000~0x0FFFFFFF:堆(有时堆位于此处)

0x10000000~0x5FFFFFFF:App DLLs、Msvcrt.dll、Mfc42.dll

0x77000000~0xFFFFFFFF:Advapi32.dll、Comctl32.dll、Gdi32.dll、Kernel32.dll、Ntdll.dll、Rpcrt4.dll、Shell32.dll、User32.dll

其中,0x00400000是所有版本的Windows能使用的最低基地址。

相关文章推荐

虚拟地址空间程序实例

  • 2010年11月08日 20:59
  • 14KB
  • 下载

linux的VMALLOC虚拟地址空间管理

  • 2015年07月09日 14:15
  • 356KB
  • 下载

Windows虚拟地址空间分配问题

一般情况下,32位的机器上,地址空间从0x000000~0xFFFFFFFF,总大小为4GB。一般而言,虚拟地址空间分为两个区,即为用户空间和系统空间。虚拟地址低空间,即从0x00000000~0X7...

linux和windows的进程的虚拟地址空间

昨晚看到了深夜,终于对进程的虚拟地址空间有了个大致的了解,很激动,也很欣慰。回头想来,一个程序员,真的应该知道这些知识,否则还真不太称职。 首先告诉大家,我后面提到的这些知识在《windows核心编...

内存虚拟地址空间的划分空间

当我们编码的时候我们的源程序一般都放在硬盘上,然后当我们使用这个程序时电脑就会在内存上运行这个程序,然而电脑内存资源是十分紧缺的,一般电脑内存都是4g,8g,2g。。所以当我们运行程序时并不是直接在内...
  • wp1995
  • wp1995
  • 2016年11月05日 20:02
  • 183

关于虚拟地址空间

http://blog.chinaunix.net/uid-26606708-id-3073559.html 很不错的代码解析和栈分析:http://blog.csdn.net/iterzebra/...

进程的虚拟地址空间

转自:http://www.blogjava.net/bacoo/archive/2008/11/20/241586.html 进程的虚拟地址空间 昨晚看到了深夜,终于对进程的虚拟地址空间有了个大...
  • ab0ut
  • ab0ut
  • 2011年12月28日 13:06
  • 359

Linux进程的虚拟地址空间

1.以32位系统为例,Linux系统中每个进程共有3GB的用户地址空间,当用户调用系统调用时,内核线程会代表进程运行,此时是在内核空间内运行的,故所有进程共享1GB的内核空间. 所以,总的来说,每个进...

进程的虚拟地址空间,堆栈、堆、数据段、代码段

http://www.cnblogs.com/younes/archive/2010/01/18/1651090.html   进程的虚拟地址空间,堆栈、堆、数据段、代码段 上图是进程的...

虚拟地址空间

当处理器读或写入内存位置时,它会使用虚拟地址。作为读或写操作的一部分,处理器将虚拟地址转换为物理地址。通过虚拟地址访问内存有以下优势: 程序可以使用一系列相邻的虚拟地址来访问物理内存中不...
  • h_wlyfw
  • h_wlyfw
  • 2014年11月20日 10:08
  • 525
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Windows2000虚拟地址空间是如何划分的
举报原因:
原因补充:

(最多只允许输入30个字)