Computer Science/[ OS ]

[ OS ] 12. 메모리 관리 전략 - Dynamic Loading(동적 로딩)

kim.svadoz 2021. 6. 1. 20:32
728x90
반응형

[ 메모리 관리 전략 ]

메모리 관리 전략에 대한 내용은 https://jhnyang.tistory.com/ 를 일부 참고하였습니다.

프로세스는 실행중인 프로그램이고, 각각의 프로세스는 독립된 메모리 공간을 갖고, 운영체제 혹은 다른 프로세스의 메모리 공간에 접근할 수 없는 제한이 걸려있다. 단지, 운영체제만이 운영체제 메모리 영역과 사용자 메모리 영역의 접근에 제약을 받지 않는다.

따라서 우리가 컴퓨터를 잘 활용하려면, 가능한 가장 효율적인 방법으로 메인 메모리를 분할하고 할당해야 한다.

Dynamic Loading

Loading이란, 데이터를 메모리에 옮기는 것이다.
프로그램을 실행시키면, .exe에 있는 파일이 메모리에 올라가야 실행이 되는 것과 같이 데이터를 메모리에 옮기는 것을 로딩 즉, 메모리에 적재 한다고 한다.

Dynamic Loading(동적 적재)이란, 프로세스가 시작될 때 그 프로세스의 주소 공간 전체를 메모리에 올려놓는 것이 아니라, 메모리를 좀 더 효율적으로 사용하기 위해 필요한 루틴이 호출될 때 해당 루틴을 메모리에 적재하는 방식.

즉, 필요한 시점에만 올리니까 메모리를 더 효율적으로 쓰이는게 가능하다.

특징은, 필요할 때만 적재되서 코드 양이 많을 때 자주 호출되지 않는 루틴(에러처리 루틴)에 효율적이며 OS의 특별한 자원을 필요로 하지 않고 프로그래머의 재량에 따라 구현이 가능하다.

하지만 이는 옛날에 메모리가 부족했을때 사용된 방법이고, Virtual Memory Management가 나오고 나서는 더이상 필요하기 않게 되었다.

728x90
반응형