메모리


논리적 주소 & 물리적 주소

논리적 주소 (Logical Address)

  • 프로세스가 실행 중에 참조하는 주소 (가상 주소)
  • CPU 명령어에 의해 생성
  • 프로세스가 자신만의 독립된 메모리 공간을 가지는 것처럼 동작하게 함
  • OS가 각 프로세스에 가상 주소 공간 할당



물리적 주소 (Physical Address)

  • 실제 메모리 하드웨어의 주소 (메모리에서 데이터가 저장되고 읽혀지는 위치)
  • 논리적 주소가 MMU에 의해 변환되어 생성
  • 실제 데이터가 저장되는 메모리 위치 나타냄
  • 하드웨어와 OS에 의해 직접 접근되고 관리됨




MMU (Memory Management Unit)

→ 컴퓨터 시스템의 메모리 관리를 담당하는 하드웨어

⇒ 프로세서와 실제 메모리 사이에 위치하며, 논리 메모리 주소를 물리적 메모리 주소로 변환하는 역할



기능

주소 변환(Address Translation)

  • 가상 메모리 주소를 물리적 메모리 주소로 변환
  • 이를 통해 프로세스는 자신만의 독립된 주소 공간 가짐

메모리 보호(Memory Protection)

  • 각 프로세스가 다른 프로세스의 메모리에 접근하지 못하도록 보호
  • 운영 체제가 허용한 범위 내에서만 메모리에 접근 가능

페이징(Paging)

  • 메모리를 고정된 크기의 블록(페이지)으로 나누어 관리
  • 페이지 테이블을 사용하여 가상 주소를 물리적 주소로 매핑
  • 페이지 부재 발생 시 필요한 페이지를 디스크에서 메모리로 로드

세그멘테이션(Segmentation)

  • 메모리를 다양한 크기의 세그먼트로 나누어 관리
  • 각 세그먼트는 코드, 데이터, 스택 등 특정 유형의 데이터 포함
  • 세그먼트 테이블을 사용하여 가상 주소를 물리적 주소로 매핑

캐시 관리(Cache Management)

  • 캐시 메모리와 협력하여 메모리 접근 속도 최적화
  • TLB를 사용하여 최근에 사용된 주소 변환을 캐시