가상 주소를 실제 물리 메모리 상의 주소로 변경하는 과정하드웨어적으로 이루어지며, 프로세서가 메모리 참조 명령어를 수행할 때마다 발생한다.실행 시간에 동적으로 물리 메모리 상의 다른 위치로 이동할 수 있게 해주는 기술이다.페이징이나 세그멘테이션 등의 발전된 메모리 관리 기법이 사용되고 있지만, 초기에는 동적 재배치 기법이 사용되었다.Base Register과 Bound Register라는 하드웨어 레지스터가 사용되었다.
실제 물리 메모리 상에 위치한 시작 주소를 저장하는 레지스터이다.
가상 주소에 베이스 레지스터값을 더하여 실제 물리 주소를 계산한다.물리 메모리의 다른 영역에 배치될 수 있다.주소 공간 크기 또는 주소 공간의 마지막 주소를 저장하는 레지스터이다.
범위를 벗어나면 하드웨어는 예외를 발생시켜 운영 체제에 알린다.가상 주소에 베이스 레지스터 값을 더하여 실제 물리 주소를 계산한다.



운영 체제는 프로세스의 베이스 레지스터 값을 변경하여 새로운 물리 메모리 주소를 가리키도록 함

바운드 레지스터 값도 새로운 주소 공간 크기에 맞게 조절

PCB에 변경된 베이스와 바운드 레지스터 값을 저장

프로세스가 다시 실행될 때 PCB에 저장된 베이스와 바운드 레지스터 값이 CPU의 레지스터에 로드되어
프로세스는 새로운 물리 메모리 영역에서 실행됨.
주소 변환과 메모리 보호 기능은 CPU 내부의 하드웨어 컴퍼넌트인 메모리 관리 장치(MMU)에 의해 수행된다.
메모리 관리 장치가 관리하는 메모리 영역은 RAM과 SWAP영역을 합친 크기를 최대 용량으로 한다.

메모리 관리 장치는 베이스 레지스터와 바운드 레지스터를 활용하여 가상 주소를 물리 주소로 변경하고
변환된 주소가 유효한 범위 내에 있는지 검사한다.
소프트웨어 오버헤드 없이 빠르게 처리된다.
메모리 관리 장치는 주소 변환 테이블(매핑 테이블)을 관리하여 가상 주소와 물리 주소 간의 매핑 정보를 저장한다.
주소 변환 테이블은 운영체제에 의해 설정되며 메모리 관리장치는 이를 참조하여 주소 변환을 수행한다.
메모리 관리 장치의 매핑테이블은 세그멘테이션과 페이징에서도 똑같은 역할을 한다.
동적 재배치 기술을 사용하면 운영체제는 프로세스의 주소 공간을 물리 메모리 상의 임의의 위치로 이동시킬 수 있으므로 메모리 관리의 유연성이 향상된다.
베이스 레지스터와 바운드 레지스터를 활용한 주소 변환 및 메모리 보호 기능은 프로세스 간의 메모리 침범을 방지하여
시스템의 안정성과 보안성을 강화한다.
각 프로세스는 주소 공간내에서만 메모리에 접근할 수 있으며 다른 프로세스의 메모리 영역에는 접근할 수 없다.
물리 메모리를 슬롯의 배열로 관리하며 각 슬롯의 사용 여부를 추적한다.프로세스의 주소 공간으로 할당하고 사용 중으로 표시한다.메모리 영역을 회수하여 다른 프로세스나 운영 체제가 사용할 수 있게 한다.해당 프로세스의 메모리 영역을 빈 공간 리스트에 반환하고 관련 자료구조를 정리한다.현재 프로세스의 베이스와 바운드 레지스터 값을 저장하고 새로운 프로세스 값으로 설정해야 한다.PCB에 저장되며 운영 체제는 PCB에서 읽어와 CPU 레지스터에 로드한다.CPU는 예외를 발생시킨다.