文件名称:内存管理算法(中文)
文件大小:175KB
文件格式:DOC
更新时间:2012-10-17 18:45:17
内存 算法 First-Fit
经典算法: 1.First-Fit: 选择满足要求的第一个内存块,切分出需要的大小,把剩下的内存块放回链表。 2.Best-Fit: 选择最接近且大于需要大小的空闲内存块,切分出需要的大小,把剩下的内存块放回链表。 3.Buddy-System: 伙伴系统有很多变形,如Binary-Buddy、Fibonacci-Buddy、Weighted-Buddy和Double-Buddy等。伙伴系统有log2N个链表(N表示可分配内存大小),每个链表串接的内存块大小一样,都是2的幂。 如Binary-Buddy,在分配内存的时候,首先找到一个空闲内存块,接着把内存块不断的进行对半切分(切分得到的2个同样大小的内存块互为伙伴),直到切出来的内存块刚好满足分配需求为止。合并的时候,只有伙伴才能合并为一个新的内存块。 4.Half-Fit: 本算法维护了log2N个链表(N表示可分配内存大小),每个链表里面串接的内存块大小范围在2i到2i+1。分配内存的时候,首先找到对应的链表,然后在链表里面寻找第一个块(First-Fit),分配一部分内存给用户,剩余的内存加入到对应的链表里。