프로세스가 실행되기 위해선 프로세스가 전체 미리 메모리에 올라와야하며 이 크기는 메모리의 크기를 초과해서는 안된다. 이러한 문제를 해결하기 위해 동적 적재
를 해야 한다.
동적 적재란 각 루틴이 실제 호출 되기 전까지는 메모리에 올라오지 않고 재배치 가능한 상태로 디스크에 대기하고 있는다. 이때 해당 루틴이 호출 되면 메모리에 해당 루틴이 적재 돼있는지 확인 후 적재 되지 않았다면 요구된 루틴을 메모리로 가져온다. 이러한 동작은 재배치 연결 적재기(Relocatable linking loader)가 하게 되며 변경 사항들을 테이블에 기록한다.
이러한 동적 적재는 필요할때만 적재되므로 아주 간혹 실행되지만 실행할 코드가 많은 경우 유리하다. 동적 적재는 프로그래머가 책임져야하며 운영체제가 책임지지 않는다. 운영체제는 그저 동적 적재를 구현하는 라이브러리만 제공한다.