windows的heap管理
实在没什么好说的,windows internal 讲了个大概. 微软有个ppt把内部的数据结构已经讲的够清楚了.
http://www.google.com.hk/url?sa=t&source=web&cd=6&ved=0CD0QFjAF&url=http%3A%2F%2Fcybertech.net%2F~sh0ksh0k%2Fprojects%2Fwinheap%2FXPSP2%2520Heap%2520Exploitation.ppt&ei=ZOQvTamLEoaGrAfplem7CA&usg=AFQjCNGZUGztA0l9xY6D0KPBaRJR2o2DAQ&sig2=MGIQX-1hZZEnyHrVgNEF_Q
关于前端,look aside list, LFH一看就明白,没什么高深的.除了对look aside list 深度的动态调节.不过这个太细节了,不讲也罢.
核心的heap管理,也很简单, 126个freelist记录了从16字节到8*127个字节126种大小的free块,还有一个freelist记录了更大的块,大小不同,一个排序了的双向链表. 简单的best fit 算法. 如果申请大小超过了freelist限制,就直接调内核的虚拟内存分配函数了.
free要做什么,想想就知道了,懒得写了.
具体的细节,应该没有人有兴趣知道.
不过,我感兴趣的是,微软声称vista的内存分配算法种查找合适块的算法从2000/xp的O(n)变成了O(1),我实在想不出来它是怎么做的.
分享到:
相关推荐
操作系统 动态 内存分配与回收 ,包含各种分配算法 c/c++
C/C++语言中,程序员可以直接管理内存(指针),极大地方便了开发,增强了C/C++语言的灵活性。与此同时,直接管理内存也带了不可估量的后患,如果管理不好,内存问题一堆一堆出现,最常见的是内存非法访问、内存泄漏...
C_C++ 内存管理算法和实现 Memory Management Algorithms and Implementation in C_C++ <br/>C_C++ 内存管理算法和实现 Memory Management Algorithms and Implementation in C_C++ <br/>C_C++ 内存管理算法和实现 ...
描述C/C++内存管理机制及内存池调研。APR内存池和BOOST内存池,shared_ptr
关于C/C++内存编程的的整理,有C++中的内存管理,函数间动态内存的传递等等,修炼内功的好帮手
C/C++实现的内存管理算法教材,CHM格式
深入详解c与c++内存分配问题,堆和栈的区别,以及指针的使用等。
介绍了C/C++语言中的雷区:内存管理,一定会对你有所帮助的!
C/C++经典的内存管理 内存在c和c++中,甚至是所有语言中不可避免的一个问题,该书主要是讲述C和c++中的内存管理
MIT开放课程源码和相关资料——C/C++内存管理的资料
详细讲解C++内存分配的问题及C++与C分配内存的方式的不同,同时介绍在C++中分配内存的最佳方式。
本人收集的关于内存方面的经典文档,压缩包里涵盖了目前基本所有的c/c++关于内存的文章,C和C++内存管理资料(包括内存管理-内存泄漏-内存调试-内存检测方法) 还有一个文档介绍电网的调试技巧
内存管理算法与C,C++实现内存管理算法与C,C++实现内存管理算法与C,C++实现内存管理算法与C,C++实现内存管理算法与C,C++实现
详细的内存问题,经典!内存管理是C++最令人切齿痛恨的问题,也是C++最有争议的问题,C++高手从中获得了更好的性能,更大的自由,C++...本期专题将从内存管理、内存泄漏、内存回收这三个方面来探讨C++内存管理问题。
内存管理向来是C/C++程序设计的一块雷区,大家都不怎么愿意去碰她,但是有时不得不碰它。虽然利用C++中的smart pointer已经可以完全避免使用指针,但是对于对于指针的进一步了解,有助于我们编写出更有效率的代码,...
本文首先总结了C和C++中动态内存分配函数的使用要点,然后总结并分析了 C+ + 中常见的内存错误,提出了一些解决对策和预防措施 ,最后通过加入检测区域、重载new操作符来完成C++程序中部分内存越界问题的检测。
C内存管理内存管理是C++最令人切齿痛恨的问题,也是C++最有争议的问题,C++高手从中获得了更好的性能,更大的自由,C++菜鸟的收获则是一遍...本期专题将从内存管理、内存泄漏、内存回收这三个方面来探讨C++内存管理问题
c++经典著作,懂c c++的人都知道这本书!欢迎下载。。。。。。。
该程序是我对以前那个程序的改进版本,主要是加入了一些合法性验证,并且可以指定删除需要的内存块,这一点是比前一个程序好的地方。
帮助我们写出漂亮、规范的代码 第1 章 文件结构 第2 章 程序的版式 ...第7 章 内存管理 第8 章 C++函数的高级特性 第9 章 类的构造函数、析构函数与赋值函数 第10 章 类的继承与组合 第11 章 其它编程经验