Logical address vs Physical address


논리적 주소 (Logical address = virtual address)

물리적 주소 (Physical address)

주소 바인딩 (=주소 변환, Address Binding


주소 변환 과정은 위와 같이 이루어진다. 우리가 살펴볼 내용은 Logical에서 Physical로 넘어가는 시점이다.

방법 :

Compile time binding

⇒ 거의 사용하지 않는 방식

Load time binding

Run time binding

MMU (Memory-Management Unit)

예시.

Untitled

CPU가 논리적 주소값(346)을 요청한 상황이다.

limit register 구조도

Untitled

CPU가 논리 주소를 요청함 → limit register를 통해 주소 값을 검사함

YES ⇒ 기본 주소값과 더해서 물리적 주소 값을 찾아갈 수 있게 함

NO ⇒ trap에 걸려서 프로그램을 종료시키거나 할당해주지 않음

⇒ 이처럼 사용자 프로그램은 논리 주소만을 다룬다. (실제 물리적 주소를 볼 수 없으며 알 필요가 없는 것이다.)

용어 정리

Dynamic loading

⇒ 프로세스 전체를 메모리에 미리 다 올리는 것이 아니라 해당 루틴이 불려질 때 메모리에 load 하는 것