728x90
반응형

malloc c언어 구현 2

[malloc-lab] 동적 메모리 할당 / 묵시적 가용 리스트 방식 구현 (C언어)

동적 메모리 할당의 개념과 묵시적 가용 리스트 방식에 대한 자세한 설명은 이전 글에 있다.https://yskisking.tistory.com/221  기본 상수 및 매크로 정의 묵시적 가용 리스트 조작을 위한, 기본 상수 및 매크로에 대한 정의 #define WSIZE 4- 기본 워드 사이즈 설정#define DSIZE 8- 기본 더블워드 사이즈 설정#define CHUNKSIZE (1- 초기 가용 블록 크기이며, 일반적으로 힙 확장시에도 CHUNKSIZE 단위로 확장된다. (2의12승, 4096byte, 4KB) #define PACK(size, alloc) ((size) | (alloc))- (할당할 크기, 1or0) 입력하면 할당할 크기의 맨 마지막 자리가 0 또는 1로 설정되어 반환된다. ( 즉..

[malloc-lab] 동적 메모리 할당의 개념 / 묵시적 가용 리스트 방식

동적 메모리 할당- heap 영역에서 이루어진다.- heap은 위쪽으로(높은 주소 방향으로) 성장한다.- heap의 top(높은 주소 쪽)을 가리키는 변수는 “brk”이며 break로 발음한다.- 할당기는 힙을 다양한 크기의 블록들의 집합으로 관리한다.- 각 블록은 할당된 블록과, 가용된 가상메모리의 연속적인 묶음이다. 명시적 할당기 - malloc- malloc을 호출해서 메모리 블록을 할당한다.- free를 호출해서 메모리 블록을 반환한다. 묵시적 할당기 - garbage collector- 할당된 블록이 언제 반환되어야 하는지 할당기가 알고 있다- 사용되지 않는 블록을 자동으로 반환하는 작업을 “garbage collection" 이라고 부른다.- List, ML, Java 같은 언어들은 garba..

728x90
반응형