首次适配
- 最简单的算法是首次适配(first fit)。
- 存储器管理程序沿着段链表搜索,直到找到一个足够大的空闲区。
- 除非该空闲区大小和要分配的空间大小正好一样,否则将该空闲区分为两部分,一部分让进程使用,另一部分为未用的内存。
- 首次适配算法是一种快速算法,因为它尽可能少搜索。
下次适配
- 对首次适配算法的一个小变种为下次适配(next fit)。
- 它的工作方式和首次适配算法相同,不同点在于每次找到合适的空闲区时都记录当时的位置,以便在下次寻找空闲区时从上次结束的地方开始搜索,而不是每次都从头开始。
最佳适配
- 最佳适配(best fit)算法搜索整个链表,找出够用的最小空闲区。
- 最佳适配算法试图找出最接近实际需要的空闲区,而不是使用将来需要的大空闲区。
最差适配
- 为了避免最接近适配的空闲区会分裂出极小内存空洞的问题,有人考虑到最差适配(worst fit)
- 总是分配最大的空闲区
- 使分裂出来的空闲区够大从而可以继续使用。