IBM®
메인 컨텐츠로 가기
    Korea [국가변경]    이용약관
 
 
   
        제품    서비스 & 솔루션    고객지원 & 다운로드    회원 서비스    
메인 컨텐츠로 가기

한국 developerWorks  >  AIX와 UNIX | 리눅스  >

C/C++ 프로젝트에 사용할 메모리 관리자 직접 구현하기 (한글)

developerWorks
Go to the previous page15 페이지 중 4 페이지Go to the next page

문서 옵션

샘플 코드


제안 및 의견
피드백

튜토리얼 평가

이 컨텐츠를 개선하기 위한 도움을 주십시오.


메모리 관리자 설계 전략

메모리 관리자를 설계할 때는 다음 전략을 고려한다.

  • 사전에 큰 메모리 블록을 확보한다.
  • 프로그램이 자주 요청하는 크기로 최적화한다.
  • 프로그램이 해제하는 메모리를 재사용한다.

사전에 큰 메모리 블록을 확보한다.

가장 인기있는 메모리 관리 전략 중 하나다. 프로그램을 시작할 때나 실행하는 도중에 간간이 시스템으로부터 큰 메모리 블록을 할당 받는다. 그런 다음, 프로그램이 개별 자료 구조를 위한 메모리 할당을 요청하면 미리 확보해 둔 메모리 블록에서 떼어 준다. 시스템 호출 횟수가 줄어들므로 그만큼 성능이 높아진다.

프로그램이 자주 요청하는 메모리 크기로 최적화한다.

프로그램마다 자주 요청하는 메모리 크기가 있기 마련이다. 메모리 관리자가 이러한 요청을 효율적으로 처리하면 프로그램 성능이 높아진다.

프로그램이 해제하는 메모리를 재사용한다.

프로그램이 해제하는 메모리를 따로 보관했다가 다시 사용한다. 즉 프로그램이 메모리를 요청하면 먼저 보관함을 뒤진다. 보관함에서 적절한 메모리를 찾지 못하면 미리 확보해 둔 메모리 블록에서 떼어 준다. 기본적으로는 프로그램 속력을 향상하고 메모리 누수를 방지할 목적으로 메모리를 관리하지만, 이 전략은 해제된 메모리를 재사용함으로써 프로그램이 점유하는 메모리 양도 줄인다. 메모리 할당자를 직접 구현해서 얻는 또 다른 이익이라 하겠다!




위로



Go to the previous page15 페이지 중 4 페이지Go to the next page
    IBM 소개 개인정보 보호정책 문의