*메모리
란 프로그램과 프로그램 수행에 필요한 데이터(stack, heap, data)
및 코드(code)
를 저장하는 장치임**메모리
는 크게 내부 기억장치인 주기억장치
와 외부 기억장치인 보조 기억장치
로 분류된다.*
초창기 컴퓨터에서는 사용 가능한 RAM
의 용량이, 가장 큰 실행 애플리케이션의 주소 공간보다 커야 했음. 그렇지 않을 경우 ‘메모리 부족’ 오류에 의해 해당 애플리케이션을 실행할 수 없었다.
이후 컴퓨터에서는 프로그래머가 애플리케이션의 일부분만 기억장치에 올려 실행하도록 지정할 수 있게 하는 오버레이 기법
을 사용하여 메모리 부족 문제를 해결하고자 하였다.
애초에 시스템이 프로그램을 위한 충분한 메모리를 갖추고 있지 않은 경우에는 결국 똑같은 메모리부족 오류가 발생.
여기에서 더 발전한 가상 메모리 기법
은 애플리케이션을 실행하는 데 얼마나 많은 메모리가 필요한지에 집중하지 않고, 대신 애플리케이션을 실행하는 데 최소한 얼마만큼의 메모리가 필요한가에 집중하여 문제를 해결하고자 함.
<aside> 💡
</aside>