시스템 프로그래밍

Dynamic Memory Allocation : Advanced Concepts

kangyuseok 2022. 6. 19. 15:21
728x90

Expilcit Free Lists

implicit free list와는 달리 explicit free list는 오직 free된 block만 탐색하게 됩니다.

이러한 free block을 탐색할 수 있도록 이중 linked list로 구성되는데, 이를 통해서 앞으로만

탐색하는 것이 아니라 뒤로도 탐색하는 것이 가능해집니다.

해당 block에 전의 free block의 주소로 갈 수 있는(주소값을 담고 있는) prev와 뒤의 free block의 주소로

갈 수 있는(주소값을 담고 있는) next를 넣게 됩니다.

이를 통해 allocate된 block은 탐색하지 않아 탐색하는 시간은 빨라지지만 free block에서는 prev와 next를 위한

공간이 추가적으로 요구되므로 메모리 활용도는 낮아집니다.