换了本书
在线版本是这个
http://pages.cs.wisc.edu/~remzi/OSTEP/pages.cs.wisc.edu国内中文版也有翻译
操作系统导论 (豆瓣)book.douban.com先从这里开始更新,之后补前面的吧
这里是17节
Free-Space Management
当使用Fragmentation来管理内存的时候,面临External Fragmentation的问题:也许有空闲空间,但是由于过于分散无法被使用。
我们给出如下假设:
使用简单的接口,例如malloc()和free()来管理内存空间。
只传递一个指针怎么知道整块内存的大小呢?
简单起见这里先不考虑Internal Fragmentation,即Allocator分配了过多的空间,这也是一种浪费。
我们还假设一旦内存被分配给Client,部内重定位。
我们还假设Allocator管理连续的空间,且大小不变。