논리 주소

논리 주소(Logical Address) 또는 가상 주소(Virtual Address)는 CPU와 프로세스가 바라보는 메모리 주소다. 실제 하드웨어 메모리 위치인 물리 주소와는 다르며, 운영체제와 MMU(Memory Management Unit)가 둘 사이를 변환해 준다.

왜 분리하는가

  • 메모리 보호: 한 프로세스가 다른 프로세스의 영역을 침범하지 못하도록
  • 멀티프로세싱: 각 프로세스에 자기만의 연속된 주소 공간 제공
  • 실제 메모리보다 큰 가상 공간: 페이징으로 디스크까지 활용 가능
  • 실행 위치 독립성: 어디에 적재되든 프로세스 코드는 동일

변환 과정

프로세스의 논리 주소
   ↓ (MMU + 페이지 테이블)
물리 주소 → 실제 RAM

페이지 테이블이 논리 주소를 물리 주소로 매핑한다. 이 변환은 매 메모리 접근마다 일어나므로 TLB(Translation Lookaside Buffer)로 캐싱한다.

페이징 vs 세그먼테이션

방식특징
페이징(Paging)고정 크기 단위, 외부 단편화 없음
세그먼테이션논리적 단위(코드/데이터/스택), 외부 단편화 발생

관련 노트

  • 물리 주소: 실제 메모리 유닛의 주소
  • Kernel: 메모리 관리를 수행하는 운영체제 핵심
  • 모듈화: 메모리 영역 분리의 사고방식과도 통함