이번에는 Malloc을 AVL Tree로 구현을 할려고 한다.
AVL Tree는 균형 이진트리로 크기가 정렬된 데이터들을 매우 빠르게 찾을 수 있다. (O log n)
Explict와 Implict malloc allocator 보다도 더 빠른 seg malloc allocator로 구현하려고 있으나 마이크로 프로세서 마지막 과제인만큼 한번 해보자~ 하고서 짜는 것이다.
그렇기에 각 노드 별로 left와 right를 잘 정의를 해줘야 하는 것이다. left는 header, right는 foot에다가 저장하면 될 것 같다.
free payload에는 4개의 데이터가 추가된다.
LEFT, PARENT, RIGHT, HEIGHT
mm_init에서 여덟개의 데이터가 필요한 것을 알 수 있다.
heap_list는 align padding,
prologue header은 첫 번째에 박는다.