← Back to Labs

Buddy Allocator Visualizer

Allocate contiguous page blocks, watch larger buddies split, then free them and see coalescing rebuild larger orders.

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

Start with one free order-4 block of 16 pages. Allocate requests to watch the buddy allocator split higher orders into smaller ones. Think of each free block as a chunk the kernel can either split into two smaller buddies or merge back together when both halves are free.

largest free order
4
block count
1
history depth
0

1/2/3/4 allocate different orders · F free last · R reset

Allocate blocks until fragmentation prevents a larger contiguous request

Read the full article →Take the quiz →