实验3 Windows虚拟内存..docVIP

  • 39
  • 0
  • 约2.86万字
  • 约 36页
  • 2018-12-29 发布于湖北
  • 举报
实验3 Windows虚拟内存 (一)、虚拟内存 1 背景知识 在Windows环境下,32位Windows系统中,232=4GB的虚拟地址空间被划分成两个部分:低端2GB提供给进程使用,高端2GB提供给系统使用。这意味着用户的应用程序代码,包括DLL以及进程使用的各种数据等,都装在用户进程地址空间内(低端2GB)。用户过程的虚拟地址空间也被分成三部分: 1)虚拟内存的已调配区(committed):具有备用的物理内存,根据该区域设定的访问权限,用户可以进行写、读或在其中执行程序等操作。 2)虚拟内存的保留区(reserved):没有备用的物理内存,但有一定的访问权限o 3)虚拟内存的自由区(free):不限定其用途,有相应的PAGE_NOACCESS权限。 与虚拟内存区相关的访问权限告知系统进程可在内存中进行何种类型的操作。例如,用户不能在只有PAGE_READONLY权限的区域上进行写操作或执行程序;也不能在只有PAGE_EXECUTE权限的区域里进行读、写操作。而具有PAGE_NOACCESS权限的特殊区域,则意味着不允许进程对其地址进行任何操作。 在进程装入之前,整个虚拟内存的地址空间都被设置为只有PAGE_NOACCESS权限的自由区域。当系统装入进程代码和数据后,才将内存地址的空间标记为已调配区或保留区,并将诸如EXECUTE、READWRITE和READONLY

文档评论(0)

1亿VIP精品文档

相关文档