시스템 프로그래밍
[Malloc Lab] Naive List
짱일모
2022. 12. 4. 23:12
Malloc Lab 의 가장 간단한 malloc package 구현 방식인 Naive List 방식에 대해 알아보겠습니다.
Naive : heap 크기를 계속 증가시켜가며 할당하는 방법입니다.
Naive 방식의 특징은 다음과 같습니다.
1. 높은 Throughput 을 갖는다. : malloc 시 heap 의 크기를 증가시킨 후 메모리 블럭을 반환하므로 상수시간에 동작합니다.
2. 낮은 utilization 을 갖는다. : free한 block을 다시 사용하지 않습니다. 따라서 한번 malloc 하고 free 시키면 그 메모리 블럭은 더 이상 이용할 수 없습니다.
Naive List 방식은 mm-naive.c 에 이미 구현되어 있습니다.
Malloc Lab Handout 파일에 정의된 Makefile 을 이용하여 컴파일 후 mdriver 를 사용해서 Test 할 수 있습니다.
make naive
./mdriver