메모리
논리적 주소 & 물리적 주소
논리적 주소 (Logical Address)
- 프로세스가 실행 중에 참조하는 주소 (가상 주소)
- CPU 명령어에 의해 생성
- 프로세스가 자신만의 독립된 메모리 공간을 가지는 것처럼 동작하게 함
- OS가 각 프로세스에 가상 주소 공간 할당
물리적 주소 (Physical Address)
- 실제 메모리 하드웨어의 주소 (메모리에서 데이터가 저장되고 읽혀지는 위치)
- 논리적 주소가 MMU에 의해 변환되어 생성
- 실제 데이터가 저장되는 메모리 위치 나타냄
- 하드웨어와 OS에 의해 직접 접근되고 관리됨
MMU (Memory Management Unit)
→ 컴퓨터 시스템의 메모리 관리를 담당하는 하드웨어
⇒ 프로세서와 실제 메모리 사이에 위치하며, 논리 메모리 주소를 물리적 메모리 주소로 변환하는 역할
기능
주소 변환(Address Translation)
- 가상 메모리 주소를 물리적 메모리 주소로 변환
- 이를 통해 프로세스는 자신만의 독립된 주소 공간 가짐
메모리 보호(Memory Protection)
- 각 프로세스가 다른 프로세스의 메모리에 접근하지 못하도록 보호
- 운영 체제가 허용한 범위 내에서만 메모리에 접근 가능
페이징(Paging)
- 메모리를 고정된 크기의 블록(페이지)으로 나누어 관리
- 페이지 테이블을 사용하여 가상 주소를 물리적 주소로 매핑
- 페이지 부재 발생 시 필요한 페이지를 디스크에서 메모리로 로드
세그멘테이션(Segmentation)
- 메모리를 다양한 크기의 세그먼트로 나누어 관리
- 각 세그먼트는 코드, 데이터, 스택 등 특정 유형의 데이터 포함
- 세그먼트 테이블을 사용하여 가상 주소를 물리적 주소로 매핑
캐시 관리(Cache Management)
- 캐시 메모리와 협력하여 메모리 접근 속도 최적화
- TLB를 사용하여 최근에 사용된 주소 변환을 캐시