bswy1973
驱动牛犊
驱动牛犊
  • 注册日期2004-06-12
  • 最后登录2010-05-14
  • 粉丝0
  • 关注0
  • 积分4分
  • 威望29点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
阅读:4338回复:5

(page)分页内存和(nopage)未分页内存最大可以分配多少??

楼主#
更多 发布于:2005-06-30 09:22
  在NDIS中,如果物理内存有4 G,那么可以申请给自己使用的(page)分页内存和(nopage)未分页内存最大可以分配多少?

或者说系统分配给核心态程序的可使用的内存的大小是多少,这个大小受哪些因素影响??

最新喜欢:

ljmmaryljmmar...
idaxsy
驱动大牛
驱动大牛
  • 注册日期2004-12-09
  • 最后登录2006-03-17
  • 粉丝0
  • 关注0
  • 积分386分
  • 威望54点
  • 贡献值0点
  • 好评度8点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2005-06-30 10:17
具体受很多因素的影响,估计没有几个人说得清楚。
进程的地址空间中,一部分是内核状态的,一部分是应用层状态的。总共也只有4G。
非分页内存呢,肯定不能大于物理内存。而且肯定还有其他限制,因为不可能把整个物理内存给你来分配的。
[b]万水千山总是情,回个帖子行不行?[/b]
idaxsy
驱动大牛
驱动大牛
  • 注册日期2004-12-09
  • 最后登录2006-03-17
  • 粉丝0
  • 关注0
  • 积分386分
  • 威望54点
  • 贡献值0点
  • 好评度8点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2005-06-30 10:32
而且ring0状态一般不要访问ring3状态的内存。
[b]万水千山总是情,回个帖子行不行?[/b]
bswy1973
驱动牛犊
驱动牛犊
  • 注册日期2004-06-12
  • 最后登录2010-05-14
  • 粉丝0
  • 关注0
  • 积分4分
  • 威望29点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
地板#
发布于:2005-06-30 11:59
那么系统中的有限的非分页内存是所有核心态程序共同使用的吧。就是说如果一个DRIVER使用的过多的未分页内存,可能导致其他程序申请不到未分页内存。是这样的吗?

分页内存,应该就是进程空间里独享的吧(相对于未分页内存),最多不能超过核心态内存的使用总量(大概2G),我的这样理解对吗?

上面所说的都是核心态进程。
zhaock
驱动太牛
驱动太牛
  • 注册日期2002-01-26
  • 最后登录2018-06-02
  • 粉丝3
  • 关注2
  • 积分73328分
  • 威望362317点
  • 贡献值1点
  • 好评度226点
  • 原创分0分
  • 专家分0分
  • 社区居民
地下室#
发布于:2005-06-30 11:59
可以看看windows internel,讲得很清楚。简单讲,对于最大nonpagedpoolsize,pagedpoolsize,
看hklm/system/currentcontrolset/control/session manager/memory management/,如果为0,
则是系统启动的时候,根据物理内存大小计算出来的。在我的机器上,xp,都是0,物理内存大小256M,
用windbg看,dd mmmaximumnonpagedpoolinbyte,大约是104M,dd mmsizeofpagedpoolinbytes
大约是205M
idaxsy
驱动大牛
驱动大牛
  • 注册日期2004-12-09
  • 最后登录2006-03-17
  • 粉丝0
  • 关注0
  • 积分386分
  • 威望54点
  • 贡献值0点
  • 好评度8点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2005-06-30 14:46
核心态的内存指针可以任意传递的,不管分页还是非分页。
[b]万水千山总是情,回个帖子行不行?[/b]
游客

返回顶部