阅读:4339回复:5
(page)分页内存和(nopage)未分页内存最大可以分配多少??
在NDIS中,如果物理内存有4 G,那么可以申请给自己使用的(page)分页内存和(nopage)未分页内存最大可以分配多少?
或者说系统分配给核心态程序的可使用的内存的大小是多少,这个大小受哪些因素影响?? |
|
最新喜欢:![]() |
沙发#
发布于:2005-06-30 14:46
核心态的内存指针可以任意传递的,不管分页还是非分页。
|
|
|
板凳#
发布于: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 |
|
地板#
发布于:2005-06-30 11:59
那么系统中的有限的非分页内存是所有核心态程序共同使用的吧。就是说如果一个DRIVER使用的过多的未分页内存,可能导致其他程序申请不到未分页内存。是这样的吗?
分页内存,应该就是进程空间里独享的吧(相对于未分页内存),最多不能超过核心态内存的使用总量(大概2G),我的这样理解对吗? 上面所说的都是核心态进程。 |
|
地下室#
发布于:2005-06-30 10:32
而且ring0状态一般不要访问ring3状态的内存。
|
|
|
5楼#
发布于:2005-06-30 10:17
具体受很多因素的影响,估计没有几个人说得清楚。
进程的地址空间中,一部分是内核状态的,一部分是应用层状态的。总共也只有4G。 非分页内存呢,肯定不能大于物理内存。而且肯定还有其他限制,因为不可能把整个物理内存给你来分配的。 |
|
|