프로그램이 실행한다는 뜻은 그 프로세스가 메인 메모리에 올라가 있다는 뜻과 같다. 따라서 메인메모리란, CPU가 직접 접근 가능한 저장 장치이다. 프로세스들은 독립적인 메모리 공간을 갖는다. 각 프로세스는 베이스 레지스터와 리밋 레지스터로 자기만의 영역을 설정하여 메모리를 보호한다. 메모리 공간 보호는 하드웨어로 부터 수행되며 사용자 모드에서 생성된 모든 주소를 레지스터와 비교하는 방식이다. 그 flow는 아래와 같다. 주소할당 프로그램이 실행되기 위해서는 메모리에 올라가야한다. 프로세스가 종료되면 이전 프로세스가 사용 했던 기억 공간이 가용 고간이 되며 다른 프로세스를 위해 사용 된다. 프로그램은 binary file로 저장되어 있으며 프로그램이 메모리에 어떻게 올라가는지는 아래와 같다. compile..