LIUTANG
驱动大牛
驱动大牛
  • 注册日期2001-03-30
  • 最后登录2020-12-27
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望58点
  • 贡献值0点
  • 好评度12点
  • 原创分0分
  • 专家分0分
  • 社区居民
阅读:1565回复:9

请教内核里的内存管理问题

楼主#
更多 发布于:2002-03-18 11:12
    在内核里使用内存是否一定要是非分页内存?另外内核里分配内存好象不能很大,如果我想使用一块很大的内存(比如3M),能否成功分配出来?请各位高手指点。谢谢。
singwoo
驱动牛犊
驱动牛犊
  • 注册日期2001-09-10
  • 最后登录2002-02-26
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-03-19 08:44
1. 内存是否使用分页跟具体操作系统和有无mmu有关.一般来说内核不采用分页,分页会降低内核执行效率.
2. 内核能分配多大内存跟你的具体应用有关.一般嵌入式系统,内存较小.能不能分配3M的话,试试就知道了.呵呵.
singwoo
rayyang2000
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2012-09-13
  • 粉丝3
  • 关注0
  • 积分1036分
  • 威望925点
  • 贡献值3点
  • 好评度823点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-03-19 08:54
你是说的Paged和NonPaged吧?如果是这样,那就要看你当前的IRP Level了,如果是大于dispatch level,就只能用NonPaged。
天天coding-debugging中----超稀饭memory dump file ======================================================== [b]Windows Device Driver Development and Consulting Service[/b] [color=blue][url]http://www.ybwork.com[/url][/color] ========================================================
LIUTANG
驱动大牛
驱动大牛
  • 注册日期2001-03-30
  • 最后登录2020-12-27
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望58点
  • 贡献值0点
  • 好评度12点
  • 原创分0分
  • 专家分0分
  • 社区居民
地板#
发布于:2002-03-19 12:53
    谢谢各位大哥的帮忙,可能是我的程序的问题,我重新生成了一个框架好象就可以随便分了,我在128M内存的机器上拼着死机作了一个试验,每次分配64K内存,结果总共分配出96M非分页内存,看来还是很有富余的,非分页内存还是比较爽的,不过不能太多,我分到一半的时候系统速度就已经比较慢了。
cathyzh
驱动牛犊
驱动牛犊
  • 注册日期2001-12-14
  • 最后登录2006-02-23
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-03-27 17:22
 :P
很大内存也能分配成功,建议你看一下DDK的一个涵数:
          AllocateCommonBuffer()
分配非分页内存肯定成功。

LIUTANG
驱动大牛
驱动大牛
  • 注册日期2001-03-30
  • 最后登录2020-12-27
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望58点
  • 贡献值0点
  • 好评度12点
  • 原创分0分
  • 专家分0分
  • 社区居民
5楼#
发布于:2002-03-28 12:28
多谢老兄们
cathyzh
驱动牛犊
驱动牛犊
  • 注册日期2001-12-14
  • 最后登录2006-02-23
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2002-03-28 14:34
to LIUTANG:
不客气,但纠正一下,我是个女孩子 !!!
Tom.Cat
禁止发言
禁止发言
  • 注册日期2001-10-10
  • 最后登录2019-07-29
  • 粉丝1
  • 关注0
  • 积分-53792分
  • 威望197411点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
  • 社区居民
7楼#
发布于:2002-03-28 16:55
用户被禁言,该主题自动屏蔽!
Tom.Cat
禁止发言
禁止发言
  • 注册日期2001-10-10
  • 最后登录2019-07-29
  • 粉丝1
  • 关注0
  • 积分-53792分
  • 威望197411点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
  • 社区居民
8楼#
发布于:2002-03-28 16:56
用户被禁言,该主题自动屏蔽!
LIUTANG
驱动大牛
驱动大牛
  • 注册日期2001-03-30
  • 最后登录2020-12-27
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望58点
  • 贡献值0点
  • 好评度12点
  • 原创分0分
  • 专家分0分
  • 社区居民
9楼#
发布于:2002-03-28 18:29
谢谢cathyzh妹妹,我看了一下文档并做了一些实验,驱动里的内存问题好象也不是很可怕,不过在中断级>= DISPATCH_LEVEL时限制就比较多了。
游客

返回顶部