xyyln
驱动老牛
驱动老牛
  • 注册日期2003-01-02
  • 最后登录2009-12-28
  • 粉丝0
  • 关注0
  • 积分4分
  • 威望11点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:810回复:3

一个内存问题,请大家进来看看

楼主#
更多 发布于:2003-05-21 18:03
    在Win2000系统下,比如我们要看物理内存的某地址是什么值,一般是先作物理地址到线性地址的转换,然后根据地址到线性空间去取值。
    小弟有一个疑问,物理内存的某一块内存如果没有被占用,映射到线性空间后是不是该段内存数据全部为零?或者说,我们经常使用malloc和free,这个free使用以后,对应的物理地址是否被操作系统清零?还是保留了一些随机的数字?
    所以问题就转到空闲内存释放的问题上来了,很多内存整理工具,能将目前不用的内存或者说小片内存重新整理,它们判断某一块物理内存没被使用的依据是什么,判断MDL结构中的标志变量?还是去读读线性地址如果全为零则没被占用?
    多谢各位老大指教。


[编辑 -  5/21/03 by  xyyln]
[img]http://www.jt99.com/zjbbs/UploadFile/2003113018513643830.gif[/img]
arthurtu
驱动巨牛
驱动巨牛
  • 注册日期2001-11-08
  • 最后登录2020-12-19
  • 粉丝0
  • 关注0
  • 积分26分
  • 威望161点
  • 贡献值0点
  • 好评度35点
  • 原创分0分
  • 专家分0分
  • 社区居民
沙发#
发布于:2003-05-21 18:16
听说很多的所谓“内存整理工具”,就是申请很大的内存,再释放。根本没有用。

不会清零吧。
Tom.Cat
禁止发言
禁止发言
  • 注册日期2001-10-10
  • 最后登录2019-07-29
  • 粉丝1
  • 关注0
  • 积分-53792分
  • 威望197411点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
  • 社区居民
板凳#
发布于:2003-05-21 18:34
用户被禁言,该主题自动屏蔽!
xyyln
驱动老牛
驱动老牛
  • 注册日期2003-01-02
  • 最后登录2009-12-28
  • 粉丝0
  • 关注0
  • 积分4分
  • 威望11点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-05-21 20:24
但也有很多工具,比如memzip,应该是真正释放了未用内存吧,但是这些闲置内存如果其值不是被填充为零,是不是页表结构里有什么引用计数?
[img]http://www.jt99.com/zjbbs/UploadFile/2003113018513643830.gif[/img]
游客

返回顶部