feat: add interactive FC01 heap4 card
This commit is contained in:
@@ -0,0 +1,29 @@
|
||||
@startuml
|
||||
scale 820 width
|
||||
top to bottom direction
|
||||
skinparam backgroundColor transparent
|
||||
skinparam shadowing false
|
||||
skinparam defaultFontName Monospace
|
||||
skinparam defaultFontSize 9
|
||||
skinparam rectangleBorderColor #2c7794
|
||||
skinparam rectangleBackgroundColor #edf6fa
|
||||
skinparam ArrowColor #8095a1
|
||||
title A5 FLOW — allocate, fragment, coalesce, verify
|
||||
|
||||
rectangle "01 RESET\ninitial free = 4080" as S1
|
||||
rectangle "02 ALLOC A\n24 byte payload\nfirst-fit + split" as S2
|
||||
rectangle "03 ALLOC B / C\n40 + 16 byte payload\nafter = 3952" as S3
|
||||
rectangle "04 FREE A / C\nB remains allocated" as S4
|
||||
rectangle "05 E01 FRAGMENTED\n2 free blocks\ncurrent > largest" as S5
|
||||
rectangle "06 FREE B\ninsert by address\njoin right + left" as S6
|
||||
rectangle "07 E02 COALESCED\n1 free block\nfinal = initial" as S7
|
||||
rectangle "08 OOM CHECK\nNULL · hook=1\nasserts=0 · PASS=1" as S8
|
||||
|
||||
S1 -right-> S2 : pvPortMalloc
|
||||
S2 -right-> S3 : split remainder
|
||||
S3 -right-> S4 : vPortFree
|
||||
S4 -down-> S5 : heap stats
|
||||
S5 -left-> S6 : continue
|
||||
S6 -left-> S7 : coalesce
|
||||
S7 -left-> S8 : oversized request
|
||||
@enduml
|
||||
Reference in New Issue
Block a user