WM 预留内存比动态分配,好处在哪里呢

xiaokan2007   2009-8-3 14:48 楼主
好久没来这里啦,大家好哇。

最近调试一个东东,老大说要预留内存给这个驱动,以前是HalAllocateCommonBuffer动态申请连续内存空间的。
我想问下,这个预留的好处在哪里呢?
能节约内存空间吗?

谢谢啦

回复评论 (5)

预留明显就是有点浪费嫌疑了,嘿嘿。
有时候不用也占用了,其他用不了这部分。

就像程序中尽量少用全局变量一样。嘿嘿。
点赞  2009-8-3 14:56
预留的好处在于一开始初始化就分配了内存,减少了在程序运行中分配资源是对系统的消耗。动态分配时,要消耗系统资源,影响程序运行速度。
点赞  2009-8-3 14:59
动态申请内存空间我是在驱动初始化的时候就做的,只有在卸载该驱动的时候才释放,而一般来说这个驱动是一直在的。所以好像也没有比预留浪费或是节约什么。

现在想节约内存空间,这个预留能起‘节约’的作用吗?疑惑中
点赞  2009-8-3 17:25
预留是只预留虚拟地址还是提交物理页面?是分页内存还是非分页内存?
点赞  2009-8-3 23:18
预留是在config.bib中直接定义如下:
DISPLAY         85600000        00C00000        RESERVED        ; 12MB

0X85600000是虚拟地址(物理地址0x55600000已经对应了根据memtable: 80000000<->50000000).

驱动里再调用VirtualAlloc、VirtualCopy(x55600000)映射使用该地址。
我这样用是不是有点问题啊?呵呵,刚刚觉的好像有点不对劲。

另外有个问题2:
在config.bib中我预留的地址是不是应该和RAM空间互斥啊(不交叉)?
不然是不是系统运行起来可能会出现异常?

谢谢啦
点赞  2009-8-6 12:12
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复