페이지

2026년 3월 30일 월요일

가상 메모리 관리의 두 축, 페이징(Paging)과 세그멘테이션(Segmentation) 분석

 

1. 효율적 자원 할당을 위한 메모리 관리 기법의 개요

  • 정의: CPU가 프로세스를 실행할 때 실제 물리 메모리 크기보다 큰 프로그램을 실행하기 위해 보조 기억장치를 주 기억장치처럼 사용하는 가상 메모리 관리 기술.

  • 주요 목적: 물리적 메모리 한계 극복, 다중 프로그래밍 효율성 제고, 메모리 보호 및 공유 기능 제공.

2. 페이징(Paging) 기법과 세그멘테이션(Segmentation) 기법의 개념

가. 페이징(Paging) 기법: 고정 분할 방식

  • 개념: 가상 메모리를 **고정된 크기(Page)**로 나누고, 물리 메모리 역시 동일한 크기(Frame)로 나누어 관리하는 기법.

  • 특징: 외부 단편화는 발생하지 않으나, 페이지 내 남는 공간인 내부 단편화(Internal Fragmentation) 발생 가능.

  • 매핑: 페이지 테이블(Page Table)을 통해 가상 주소를 물리 주소로 변환.

나. 세그멘테이션(Segmentation) 기법: 가변 분할 방식

  • 개념: 논리적 단위(Code, Data, Stack, 함수 등)인 **의미 있는 가변 크기(Segment)**로 메모리를 나누어 관리하는 기법.

  • 특징: 내부 단편화는 없으나, 할당과 반납이 반복될 때 메모리 사이 조각이 남는 외부 단편화(External Fragmentation) 발생.

  • 매핑: 세그먼트 테이블(Segment Table)을 사용하며, 시작 주소(Base)와 크기(Limit) 정보를 포함.

3. 페이징 기법과 세그멘테이션 기법의 비교

구분페이징 (Paging)세그멘테이션 (Segmentation)
분할 단위고정 크기 (Fixed Size)가변 크기 (Variable Size, 논리 단위)
관리 관점시스템/기계적 효율 중심사용자/프로그래머 관점 중심
단편화 문제내부 단편화 발생외부 단편화 발생
주소 변환페이지 번호 + 변위(Offset)세그먼트 번호 + 변위(Offset)
장점메모리 교체 및 관리 용이공유(Sharing) 및 보호(Protection) 우수

4. 혼용 기법(Paged Segmentation) 및 향후 전망

  • 페이징된 세그멘테이션: 세그멘테이션의 논리적 이점(공유/보호)과 페이징의 물리적 관리 이점을 결합. 외부 단편화 문제를 페이징으로 해결한 현대 운영체제의 일반적 방식.

  • 기술사적 시사점: 최근 대용량 메모리 환경에서는 TLB(Translation Lookaside Buffer) 성능 최적화와 Huge Page 지원 등을 통해 주소 변환 오버헤드를 줄이는 기술이 더욱 중요해지고 있음.

댓글 없음: