운영체제 - 메모리 최적화 기법 ( Dynamic Loading / Dynamic Linking )

TopOfTheHead·2026년 2월 12일

운영체제

목록 보기
22/24
post-thumbnail

프로그램 실행 시 메모리 최적화 기법
。 동적 로딩 / 동적 연결
▶ 동적 로딩은 프로그램 내부 모듈을 필요할 때 메모리에 적재
▶ 동적 연결은 외부 라이브러리를 실행 시점에 연결

동적 로딩 ( Dynamic Loading )
。프로그램 실행 시 자원을 한꺼번에 메모리에 Load하지 않고, 프로그램의 런타임 도중 필요한 시점에서 필요한 모듈 / 데이터를 동적으로 메모리에 Load 및 UnLoad하는 기술

。개발자가 직접 제어
▶ 명시적 코드 작성이 필요

ex ) 게임에서 플레이어가 특정 지역에 진입할 때마다 해당 텍스처를 메모리에 Load 및 지나간 지역은 Unload

  • 동적로딩 장점
    。메모리 사용량 감소 및 시작 속도 향상
    。유연한 업데이트 가능

  • 동적로딩 단점
    。Load / Unload 시점의 관리가 필요
    ▶ 메모리 누수 위험 존재

    。코드 복잡도 증가

동적 연결( Dynamic Linking )
。프로그램 실행 도중 필요한 시점에서 필요한 외부 라이브러리를 메모리에 동적으로연결하는 기술

。OS가 자동 관리하여 연결

ex ) 브라우저에서 플러그인 사용 시 브라우저에 플러그인 설치 및 사용자는 필요한 시점에서만 해당 플러그인을 메모리에 로드하여 활용

  • 동적연결 장점
    。프로그램의 실행파일 크기 축소
    ▶ 정적 연결과 다르게 라이브러리를 실행파일에 포함하지않고 런타임 중 필요한 시점에서 외부 라이브러리를 연결해서 활용

    。라이브러리 업데이트 시 재컴파일이 불필요
    。여러 프로그램이 동일한 라이브러리를 재사용함으로써 공유하여 메모리 효율 증가

    정적 연결 ( Static Linking )
    。 필요한 라이브러리를 프로그램 컴파일 단계에서 로드하여 라이브러리가 프로그램에 포함
    ▶ 실행파일 크기가 동적 연결`에 비해 크다.

    
profile
공부기록 블로그

0개의 댓글