시작하기 전에
먼저 튜토리얼 목표와 활용 방법을 살펴보자.
이 튜토리얼은 어느 응용 프로그램에서나 적용하기 쉽도록 메모리 관리자를 만드는 기본 방법을 소개한다. 메모리 관리자가 필요한 이유를 설명하며, 목적에 맞춰 특화된 메모리 관리자를 설계하는 방안 몇 가지도 제시한다.
이 튜토리얼에서는 1) 메모리 관리자를 설계하기 전에 고려할 사항, 2) 메모리 관리자를 구현하는 데 사용하는 기술, 3) 마지막으로 메모리 관리자를 실제로 구현하는 방법을 소개한다. 또한 메모리 관리자 설계 방안 몇 가지를 소개하고, 각 설계안에 따른 장단점도 살펴본다.
이 튜토리얼은 초중급 리눅스(Linux
®)
/유닉스(UNIX
®)
개발자를 대상으로 한다. 유닉스 명령행 셸과 친숙해야 하며 C/C++ 언어에 어느 정도 경험이
있어야 튜토리얼을 따라갈 수 있다. 이 외에도 (메모리 할당, 할당 해제, 내용 변경을 다루는
루틴인)
malloc
,
calloc
,
free
,
memcpy
,
memset
등 메모리 관련 함수가 내부적으로 동작하는 방식을 이해하면 더 좋다.
이 튜토리얼에서 구현하는 예제를 실행하려면 g++ 컴파일러 툴체인이 설치된 리눅스나 유닉스 시스템이 필요하다. 램은 클수록 좋은데 대략 256MB 정도면 충분하다.