← Back to Labs

Buddy Allocator Visualizer

Request contiguous page blocks, watch higher orders split, then free them and see matching buddies merge back together.

p0
p1
p2
p3
p4
p5
p6
p7
p8
p9
p10
p11
p12
p13
p14
p15
start=0 pages=16 order=4 free buddy
16/16 freeAllocator state

Start with one free order-4 block of 16 pages. Each request either fits now or forces the allocator to split a larger buddy until the right-sized block appears. Watch the same chunks split on the way down and merge back together on the way up. That split-or-merge rhythm is the whole buddy idea.

largest free order
4
block count
1
history depth
0

1/2/3/4 allocate orders 0-3 · F free last allocation · R reset

Keep allocating until fragmentation prevents a larger contiguous request

Read the full article →Take the quiz →