.因为=可利用空间表的初始状态图如所示
当用户申请大小为的内存块时因<<=但没有大小为的块只有大小为的块故将的块分裂成两个大小为的块其中大小为的一块挂到可利用空间表上另一块再分裂成两个大小为的块又将其中大小为的一块挂到可利用空间表上另一块再分裂成两个大小为的块一块的块挂到可利用空间表上另一块分裂成两个大小为的块其中一块挂到可利用空间表上另一块分给用户(地址—)如此下去最后每个用户得到的存储空间的起始地址如图 个用户分配所需要的存储空间后可利用空间表的状态如图
在回收时因为给申请的用户分配了其伙伴地址是在占用中不能合并只能挂到可利用空间表上在回收大小为的占用块时其伙伴地址是也在占用回收大小为的占用块时其伙伴地址是可以合并为大小的块 挂到可利用空间表上回收个占用块之后可利用空间表的状态如图
(注在图和画上了占用块从原理上只有空闲块才出现在可利用空间表中)
[] [] [] [] [] []