Topic: memory management by buddy system

topics > computer science > operating system > Group: memory management

heap memory management
memory management by free list


Buddy system allocation identifies an adjacent block by address, making it easy to coalesce free blocks. It reduces fragmentation and simplifies allocation. Buddy systems do not work well when most objects have only a few sizes. (cbb 12/07)
Subtopic: buddy system up

Quote: the number of free blocks in a buddy system is proportional to the square root of the allocated blocks
Quote: binary buddy disk allocation just needs a 250 slot free-space table in memory; access overflow lists every 1000 allocate and free operations [»kochPD11_1987]
Quote: binary buddy disk allocation has 2-6% internal fragmentation and 0-10% external fragmentation; most files contiguous

Subtopic: defragmentation up

Quote: analysis and algorithm for buddy heap defragmentation; relocate storage only as needed; compaction defragments the entire heap when an allocation fails [»defoDC6_2005]

Subtopic: examples up

Quote: Oberon memory management by 5 lists for 16, 32, 64, 128, and 128*n bytes; efficient allocation and coalescing; low wastage; like buddy system [»wirtN9_1989]
Quote: manage memory with doubly linked lists of 2^n size; easily split and recombined [»knowK10_1965, OK]
QuoteRef: wegbB_1971 ;;258 automatic garbage collection returned into list of 2**n--tables of how big each object is and where pointers located
QuoteRef: knowK8_1966 ;;616 L^6 uses powers of 2 memory allocation scheme

Subtopic: problems with buddy system up

Quote: for most programs, the vast majority of objects allocated are of only a few sizes; 90% allocated from 6.1 sizes; why buddy system works badly

Related Topics up

Topic: heap memory management (33 items)
Topic: memory management by free list
(25 items)

Updated barberCB 9/06
Copyright © 2002-2008 by C. Bradford Barber. All rights reserved.
Thesa is a trademark of C. Bradford Barber.