Results 1 
6 of
6
The Slab Allocator: An ObjectCaching Kernel Memory Allocator
 USENIX SUMMER TECHNICAL CONFERENCE
, 1994
"... This paper presents a comprehensive design overview of the SunOS 5.4 kernel memory allocator. This allocator is based on a set of objectcaching primitives that reduce the cost of allocating complex objects by retaining their state between uses. These same primitives prove equally effective for mana ..."
Abstract

Cited by 76 (3 self)
 Add to MetaCart
This paper presents a comprehensive design overview of the SunOS 5.4 kernel memory allocator. This allocator is based on a set of objectcaching primitives that reduce the cost of allocating complex objects by retaining their state between uses. These same primitives prove equally effective for managing stateless memory (e.g. data pages and temporary buffers) because they are spaceefficient and fast. The allocator’s object caches respond dynamically to global memory pressure, and employ an objectcoloring scheme that improves the system’s overall cache utilization and bus balance. The allocator also has several statistical and debugging features that can detect a wide range of problems throughout the system. 1.
Fast Allocation and Deallocation with an Improved Buddy System
 IN PROCEEDINGS OF THE 19TH CONFERENCE ON THE FOUNDATIONS OF SOFTWARE TECHNOLOGY AND THEORETICAL COMPUTER SCIENCE (FST & TCS'99), LECTURE NOTES IN COMPUTER SCIENCE
, 1999
"... 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 \Theta(lg n) time in the worst case (and on an amortized basis), where n is the size of the me ..."
Abstract

Cited by 6 (2 self)
 Add to MetaCart
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 \Theta(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+ p lg n) lg lg n ) bits of auxiliary storage, which is !(lg k 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.
Fast Allocation and Deallocation with an Improved Buddy System
, 2003
"... 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 ..."
Abstract

Cited by 4 (0 self)
 Add to MetaCart
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 three schemes that improve the running time to O(1) time, where the time bound for deallocation is amortized for the first two schemes. The first scheme uses just one more word of memory than the standard buddy system, but may result in greater fragmentation than necessary. The second and third schemes have essentially the same fragmentation as the standard buddy system, and use O(2 (1+ √ lg n) lg lg n) bits of auxiliary storage, which is ω(lg k 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.
Virtual Memory In A 64Bit Microkernel
, 1999
"... Virtual memory is a feature of most operating systems. It presents a level of indirection between the addresses that an application views, and the physical memory addresses used by the hardware. The benefits of virtual memory include: security, reliability, application transparent relocation of phys ..."
Abstract

Cited by 3 (0 self)
 Add to MetaCart
Virtual memory is a feature of most operating systems. It presents a level of indirection between the addresses that an application views, and the physical memory addresses used by the hardware. The benefits of virtual memory include: security, reliability, application transparent relocation of physical memory, and cache partitioning. The page table is a critical component of a paged virtual memory system. The page table contains the set of translations that map virtual addresses to physical addresses. The implementation of a pagetable structure affects the cost of virtual memory to applications. This thesis explores the cost of various pagetable structures to applications in a 64bit microkernel environment. The primary goal of the thesis is to identify the pagetable structures most suited to a microkernel environment, i.e. an environment that is expected to efficiently support a diverse range of applications and operating systems, including singleaddressspace operating systems ...
Fast Allocation and Deallocation with an Improved Buddy System*
"... Abstract We propose several modifications to the binary buddy system for managing dynamicallocation of memory blocks whose sizes are powers of two. The standard buddy system allocates and deallocates blocks in \Theta (lg n) time in the worst case (and on an amortizedbasis), where n is the size of th ..."
Abstract
 Add to MetaCart
Abstract We propose several modifications to the binary buddy system for managing dynamicallocation of memory blocks whose sizes are powers of two. The standard buddy system allocates and deallocates blocks in \Theta (lg n) time in the worst case (and on an amortizedbasis), where n is the size of the memory. We present three schemes that improve therunning time to O(1) time, where the time bound for deallocation is amortized for thefirst two schemes. The first scheme uses just one more word of memory than the standard buddy system, but may result in greater fragmentation than necessary. The second andthird schemes have essentially the same fragmentation as the standard buddy system, and use O(2(1+plg n) lg lg n) bits of auxiliary storage, which is!(lgk n) but o(n&quot;) for all k> = 1 and &quot;> 0. Finally, we present simulation results estimating the effect of the excessfragmentation in the first scheme.
Fast Allocation and Deallocation with an Improved Buddy System*
"... Abstract We propose several modifications to the binary buddy system for managing dynamicallocation of memory blocks whose sizes are powers of two. The standard buddy system allocates and deallocates blocks in \Theta (lg n) time in the worst case (and on an amortizedbasis), where n is the size of th ..."
Abstract
 Add to MetaCart
Abstract We propose several modifications to the binary buddy system for managing dynamicallocation of memory blocks whose sizes are powers of two. The standard buddy system allocates and deallocates blocks in \Theta (lg n) time in the worst case (and on an amortizedbasis), where n is the size of the memory. We present three schemes that improve therunning time to O(1) time, where the time bound for deallocation is amortized for thefirst two schemes. The first scheme uses just one more word of memory than the standard buddy system, but may result in greater fragmentation than necessary. The second andthird schemes have essentially the same fragmentation as the standard buddy system, and use O(2(1+plg n) lg lg n) bits of auxiliary storage, which is!(lgk n) but o(n&quot;) for all k> = 1 and &quot;> 0. Finally, we present simulation results estimating the effect of the excessfragmentation in the first scheme.