DOCUMENT ID: 1537-02 SYNOPSIS: Description of Non-paged Memory Allocation OS RELEASE: 2.x PRODUCT: Solaris x86 KEYWORDS: nonpaged memory allocation DESCRIPTION: A brief description of Non-paged memory Allocation SOLUTION: Non-paged Memory Allocation Many of the dynamic data structures used by the kernel need a memory allocation procedure that can deal with blocks of memory in sizes of less than one page. For example, segment descriptors are typically only a few bytes long, yet still have to be dynamically allocated and freed. Under UNIX System V Release 4, the kernel's memory allocation and memory freeing routines are called kmem_alloc() and kmem_free(). The memory allocator procedure needs an area of memory it can use to satisfy memory allocation requests. This area of memory is referred to as the "arena" or "pool". The kernel memory allocator uses data structures to keep track of which pieces of its pool are currently allocated and freed. In UNIX System V Release 3 the free areas of the pool were accounted for by using an array of map data start of the free area and its size. DATE APPROVED: 10/18/95