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
'시스템 프로그래밍' 카테고리의 다른 글
[Malloc Lab] LIFO 방식의 Explicit List (명시적 리스트) (1) | 2022.12.04 |
---|---|
[Malloc Lab] Implicit List (0) | 2022.12.04 |
[Malloc Lab] Introduction to Malloc Lab (0) | 2022.12.04 |
[System Programming] 동적 메모리 할당 (Dynamic Memory Allocate) (0) | 2022.11.26 |
[Shell lab] Trace 09, Trace 12 (0) | 2022.11.24 |