가상 메모리 페이징과 세그멘테이션
I. 메모리 단편화 해소 및 가상 주소 관리, 페이징과 세그멘테이션의 개요
II. 페이징과 세그멘테이션의 아키텍처 비교
가. 가상 메모리 매핑 아키텍처
<text x="475" y="113">Data</text>
<text x="475" y="125" font-size="10" fill="#6B7280">60k</text>
<text x="475" y="158">Stack</text>
<text x="475" y="170" font-size="10" fill="#6B7280">8k</text>
- 페이징은 페이지 크기와 프레임 크기가 동일하며, 세그멘테이션은 개별 단위의 크기가 서로 다름.
나. 페이징과 세그멘테이션 핵심 기술요소 비교
| 비교 항목 | 페이징 (Paging) | 세그멘테이션 (Segmentation) |
|---|---|---|
| 분할 기준 | 고정 크기 | 가변 크기 |
| 주소 지정 | Page Number, Offset | Segment Number, Offset |
| 메모리 보호 / 공유 | - 페이지 단위 분할 - 의미 단위 보호 및 공유 설정 저하 (↓) | - 논리적 단위 분할 - 보호 및 공유 용이 |
| 매핑 테이블 | PMT (Page Map Table) | SMT (Segment Map Table) |
| 오버헤드 | 메모리 낭비 발생 (내부 단편화) | 할당/해제 알고리즘 복잡 (외부 단편화) |
- 두 방식의 장점을 결합한 세그먼트화된 페이징 기법 활용 가능.
III. 최신 가상 메모리 관리 동향
Paged Segmentation (세그먼트화된 페이징):프로세스를 논리적 단위인 세그먼트로 먼저 분할. 분할된 각 세그먼트를 다시 고정된 크기의 페이지로 분할하여 외부 단편화 방지 및 메모리 보호/공유 효율성 동시 확보.