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

TopOfTheHead·2026년 2월 12일

운영체제

목록 보기
22/24
post-thumbnail

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

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

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

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

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

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

    코드 복잡도 증가

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

OS자동 관리하여 연결

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

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

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

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

    
profile
공부기록 블로그

0개의 댓글