CPU와 프로세스들이 메모리 몇번지에 무엇이 저장되어 있는지 모두 알고 있을 것 같지만, 실제로는 그렇지 않다. 이를 모두 알려면 CPU레지스터가 메모리만큼 커야 한다. 또한 새로운 프로세스는 새롭게 메모리에 적재되고, 사용되지 않는 프로세스는 메모리에서 삭제된다. (메모리 정보는 계속 변화)
여기서는 CPU가 어떻게 메모리에 적재된 프로세스의 주소를 인식하고 관리하는지 알아본다.

CPU와 프로세스는 메모리의 하드웨어 상 실제 주소인 물리주소(physical address)가 아니라 논리 주소(logical address)체계를 이용한다. 논리 주소는 프로세스마다 부여되는 0번지부터 시작하는 주소 체계를 말한다. 현재 메모리 상에 웹 브라우저, 메모장, 게임프로세스가 적재 되어 있다면 모든 프로세스에는 0번지부터 시작한느 각자의 논리 주소를 가지고 있는 셈.
CPU와 프로세스가 사용하는 주소 체계는 물리 주소가 아니라 논리 주소이기 때문에 중복되는 물리 주소의 번지 수는 존재하지 않지만, 중복되는 논리 주소의 번지 수는 얼마든지 존재할 수 있다.
하지만 논리 주소라 할지라도 실제로 정보가 저장되어 있는 하드웨어 상의 메모리와 상호 작용하기 위해서는 반드시 논리주소와 물리주소간의 변환이 이뤄져야 한다.
그래서 존재하는 하드웨어 장치가 메모리 관리장치(MMU Memory Management Unit)이다. MMU는 CPU와 메모리 사이에 위치하며, CPU가 이해하는 논리 주소를 메모리가 이해하는 물리 주소로 변환하는 역할을 한다. (가상메모리 시스템을 통해 물리 메모리 접근)
(VMM은 MMU내부에 있는것이 아니라 커널 소프트웨어.MMU가 참조하는 페이지 테이블/구성을 설정/관리한다.)

MMU를 기준으로 물리 주소와 논리 주소가 변환됐다는 사실을 바탕으로 프로세스가 이러한 주소체계를 통해 어떻게 메모리에 할당되는지 알아본다.
가장 기본적인 메모리 할당방식인 스와핑과 연속 메모리 할당부터 알아본다. 스와핑이란 무엇이며 어떤 이점이 있는지, 그리고 연속 메모리 할당에는 어떠한 부작용이 있는지를 중점적으로 봐야한다.
메모리에 적재된 프로세스들 중에는 현재 실행되고 있지 않은 프로세스도 있을 수 있다. I/O작업을 요구하며 대기 상태가 되었거나, 오랫동안 사용되지 않은 프로세스가 이러한 프로세스에 해당된다. 이러한 프로세스들을 임시로 스왑 영역(swap space)라는 보조기억장치의 일부인 영역으로 쫓아내고, 프로세스를 쫓아낸 자리에 생긴 메모리 상의 빈 공간에 다른 프로세스를 적재하여 실행하는 메모리 관리 방식을 스와핑(swapping)이라고 한다.