<aside>
📌 Logical vs. Physical Address, 주소바인딩(Address Binding), Memory-Management Unit(MMU), Dynamic Relocation, Hadware Support for Address Translation, Some Treminologies, Dynamic Loading, Overlays, Swapping, Dynamic Linking, Allocation of Physical Memory, Contiguous Allocation
</aside>
Logical vs. Physical Address
주소 바인딩 (Address Binding)
- Compile time binding
- 물리적 메모리 주소(physical address)가 컴파일 시 알려짐 → 다른 주소가 비어있더라도 무조건 해당 주소를 써야 하기 때문에 비효율적
- 시작 위치 변경 시 재컴파일
- 컴파일러는 절대 코드(absolute code) 생성
- Load time binding
- Loader의 책임하에 물리적 메모리 주소 부여
- 컴파일러가 재배치가능코드(relocatable code)를 생성한 경우 가능
- Execution time binding (== Run time binding)
- 수행이 시작된 이후에도 프로세스의 메모리 상 위치를 옮길 수 있음
- CPU가 주소를 참조할 때마다 binding을 점검 (address mapping table)
- 하드웨어적인 지원이 필요
- 하드웨어의 종류) base and limit registers, MMU(메모리 관리 장치)

- 해석
- A 위치에 있는 값과 B위치에 있는 값을 더해서 A 위치에 저장 (100 + 330)
- C 위치로 이동 → 프로그램 종료
- 주소 바인딩 방법에 따라 실제 주소가 달라짐
- 프로그램 실행 시 실제 주소로 변환
Memory-Management Unit (MMU)