 | 난이도 : 중급 Arpan Sen , Lead Engineer, Synapti Computer Aided Design Pvt Ltd Rahul Kardam (rahul@syncad.com), 선임 소프트웨어 개발자, Synapti Computer Aided Design Pvt Ltd
2008 년 4 월 15 일
프로그래밍에서 성능 최적화는 중대한 사안입니다. 동작은 올바르지만 메모리나 시간, 가장 나쁘게 둘 다를 너무
많이 잡아 먹는 C/C++ 프로그램이 생각보다 흔합니다. C/C++는 코드에서 메모리를 할당하고 해제하는
방식을 개발자가 완전히 통제할 수 있다는 측면에서 프로그램 성능을 향상시킬 무한한 가능성을 제시합니다. 이
튜토리얼에서는 특정 환경을 위한 메모리 관리자를 직접 구현해 보면서 메모리 관리를 둘러싼 미신을 깨겠습니다.
목표
이 튜토리얼에서 메모리 관리자 설계에 앞선 고려 사항, 이런 메모리 관리자를 만드는 과정에서 활용
가능한 구체적인 기법, 마지막으로 메모리 관리자 생성 방법을 배우게 될 것이다. 다양한 메모리 관리자
설계 유형마다 달라지는 장단점에 대해서도 배우게 될 것이다.
선수조건
이 튜토리얼은 초중급 리눅스(Linux
®)
/유닉스(UNIX
®)
개발자를 대상으로 한다. 유닉스 명령행 셸과 친숙해야 하며 C/C++ 언어에 어느 정도 경험이 있어야
튜토리얼을 따라갈 수 있다. 이 외에도 (메모리 할당, 할당 해제, 내용 변경을 다루는 루틴인)
malloc
,
calloc
,
free
,
memcpy
,
memset
등 메모리 관련 함수가 내부적으로 동작하는 방식을 이해하면 더 좋다.
시스템 필요조건
이 튜토리얼에서 구현하는 예제를 실행하려면 g++ 컴파일러 툴체인이 설치된 리눅스나 유닉스 시스템이
필요하다. 램은 클수록 좋은데 대략 256MB 정도면 충분하다.
기간
2시간
포맷 html
 |
| 이 문서 북마킹 하기
|
developerWorks 콘텐트를 다른 사이트에 전재하기: developerWorks 콘텐트에 대한 저작권은 IBM에 있습니다. IBM의 서면 허가나 원본 저자의 허락이 없이는 전재를 금합니다. 저희 콘텐트를 전재하시려면 IBM developerWorks 담당자 에게 문의하십시오. |  |  |
|
|  |
|  |