windows 虚拟内存

虚拟内存:将不连续的物理内存抽象化后方便上层使用的内存。

windows虚拟内存分布:

32位cpu:

  32bit cpu的寻址空间是0 ~ 4 G(2^32),低2G为用户地址空间(user space),对应r3权限,用户的进程都工作在这个空间;高2G为系统地址空间,对应r0,为所有系统组件,驱动共享的内存空间。

  每一位代表一个地址线,32位cpu表示地址线有32条。

  系统可以允许把所有低地址空间全部给单个应用程序用(However, applications can specify that the system should allocate all memory for the application below 2 gigabytes.)

  https://msdn.microsoft.com/en-us/library/windows/desktop/aa384271(v=vs.85).aspx

  所以,x86应用程序最大能申请到2G的内存,驱动程序也是最多能申请到2G的内存

64位cpu:

  64bit低8G为用户控件,高240G为系统空间。

  x64应用程序最多能申请到8T的内存。

 

x86 x64 应用程序的内存限制文档:

https://msdn.microsoft.com/en-us/library/windows/desktop/aa366778(v=vs.85).aspx

posted @ 2018-01-07 16:14  shinymood  阅读(202)  评论(0编辑  收藏  举报