728x90
반응형
1. 메모리 관리 장치(MMU)의 역할
**메모리 관리 장치(MMU, Memory Management Unit)**는 CPU가 사용하는 가상 주소를 실제 물리적 메모리 주소로 변환하는 역할을 수행함. 사용자가 접근하는 모든 메모리 주소는 가상 주소로 처리되며, 이 주소는 MMU에 의해 물리 주소로 변환됨.
MMU가 필요한 이유:
- 메모리 보호: 각 프로그램이 서로의 메모리에 접근하지 못하게 보호함.
- 가상 메모리 사용: 물리 메모리보다 더 큰 메모리 공간을 사용할 수 있게 함.
- 효율적 메모리 사용: 여러 프로그램이 동시에 실행될 때 메모리를 최적으로 관리.
2. 페이징(Paging)
페이징은 메모리를 고정된 크기의 블록으로 나누어 관리하는 기법임. 이 고정된 크기의 블록을 **페이지(Page)**라고 부르며, 가상 메모리와 물리 메모리를 같은 크기의 페이지 단위로 관리함.
페이징의 특징:
- 메모리는 같은 크기의 페이지로 나뉨 (예: 4KB).
- 각 페이지는 페이지 테이블에 의해 관리되며, 페이지 테이블은 가상 주소를 물리 주소로 매핑함.
- 프로그램의 메모리가 연속적이지 않아도 되므로 **단편화 문제(Fragmenation)**를 줄일 수 있음.
페이징의 장점:
- 연속된 메모리 필요 없음: 프로세스가 사용하는 메모리가 물리적으로 연속적이지 않아도 됨.
- 가상 메모리 구현 가능: 사용자가 실제 메모리보다 큰 공간을 사용하는 것처럼 보이게 함.
단점:
- 페이지 테이블 관리: 많은 페이지를 관리해야 하므로 테이블이 커질 수 있음.
- 페이지 교체 비용: 자주 사용되지 않는 페이지를 교체하는데 성능 저하가 발생할 수 있음.
3. 세그멘테이션(Segmentation)
세그멘테이션은 메모리를 논리적 영역으로 나누어 관리하는 기법임. 각 세그먼트는 코드, 데이터, 스택 등 논리적으로 구분되는 메모리 영역에 해당하며, 크기가 유동적임.
세그멘테이션의 특징:
- 메모리 공간을 의미 있는 단위(코드, 데이터 등)로 나눔.
- 각 세그먼트는 서로 다른 크기를 가질 수 있음.
- 세그먼트 테이블에 의해 관리되며, 가상 주소가 세그먼트와 오프셋으로 나누어짐.
세그멘테이션의 장점:
- 논리적 구분이 명확해짐: 코드와 데이터가 다른 영역에 저장되므로 오류를 줄일 수 있음.
- 다양한 크기의 메모리 사용 가능: 각 세그먼트의 크기가 유동적임.
단점:
- 외부 단편화 문제: 연속된 메모리 공간을 사용해야 하므로 메모리 조각이 남을 수 있음.
- 복잡한 메모리 관리: 세그먼트 크기가 다르므로 메모리 관리가 어려움.
4. 페이징과 세그멘테이션 비교
특성페이징 (Paging) | 세그멘테이션 (Segmentation) | |
단위 | 고정된 크기의 페이지 | 가변적인 크기의 세그먼트 |
주소 구조 | 페이지 번호 + 페이지 오프셋 | 세그먼트 번호 + 세그먼트 오프셋 |
단편화 문제 | 내부 단편화 발생 가능 | 외부 단편화 발생 가능 |
메모리 관리 방식 | 물리적 메모리와 가상 메모리를 매핑 | 논리적 의미에 따라 메모리를 구분 |
용도 | 주로 가상 메모리 구현에 사용 | 특정 메모리 영역의 보호 및 관리에 유리 |
5. 페이징과 세그멘테이션의 조합
- 현대 운영체제는 페이징과 세그멘테이션을 혼합해서 사용하기도 함.
- 예를 들어, 세그먼트를 페이지 단위로 나누는 세그먼트-페이징 기법이 사용될 수 있음. 이 방식은 논리적 분류의 장점과 물리적 메모리 관리의 효율성을 동시에 제공함.
6. 결론
MMU를 통한 메모리 관리는 현대 컴퓨터 시스템의 필수적인 부분임. 페이징과 세그멘테이션은 각각 장단점을 가지고 있으며, 상황에 따라 단독 또는 혼합 기법으로 사용됨. 메모리 관리가 효율적일수록 프로세스 간의 충돌을 줄이고, 프로그램 성능을 향상시킬 수 있음.
728x90
반응형
'Computer Science > 컴퓨터 구조' 카테고리의 다른 글
RAID와 저장 장치 (HDD, SSD) (2) | 2024.10.12 |
---|---|
캐시 메모리와 지역성(Locality) (0) | 2024.10.12 |
폰 노이만 구조와 병목 현상 (0) | 2024.10.12 |
하드웨어 구성요소 (8) | 2024.10.12 |