On the worst case performance of buddy systems
Acta Informatica
Improving the Performance of Buddy Systems
IEEE Transactions on Computers
Disk file allocation based on the buddy system
ACM Transactions on Computer Systems (TOCS)
A lazy buddy system bounded by two coalescing delays
SOSP '89 Proceedings of the twelfth ACM symposium on Operating systems principles
The design and implementation of the 4.4BSD operating system
The design and implementation of the 4.4BSD operating system
Statistical Properties of the Buddy System
Journal of the ACM (JACM)
Tailored-List and Recombination-Delaying Buddy Systems
ACM Transactions on Programming Languages and Systems (TOPLAS)
Communications of the ACM
A buddy system variation for disk storage allocation
Communications of the ACM
An algorithm for locating adjacent storage blocks in the buddy system
Communications of the ACM
A simplified recombination scheme for the Fibonacci buddy system
Communications of the ACM
A class of dynamic memory allocation algorithms
Communications of the ACM
Communications of the ACM
A programmer's description of L6
Communications of the ACM
Hi-index | 0.00 |
We propose several modifications to the binary buddy system for managing dynamic allocation of memory blocks whose sizes are powers of two. The standard buddy system allocates and deallocates blocks in Θ(lg n) time in the worst case (and on an amortized basis), where n is the size of the memory. We present two schemes that improve the running time to O(1) time, where the time bound for deallocation is amortized. The first scheme uses one word of extra storage compared to the standard buddy system, but may fragment memory more than necessary. The second scheme has essentially the same fragmentation as the standard buddy system, and uses O(2(1+√lgn)lg lg n) bits of auxiliary storage, which is ω(lgk n) but o(nƐ) for all k ≥ 1 and Ɛ 0. Finally, we present simulation results estimating the effect of the excess fragmentation in the first scheme.