Paging vs. Segmentation

Paging과 Segmentation은 운영체제의 메모리 관리 기법이다.

Paging:

  • 프로세스의 주소 공간을 고정 크기의 페이지로 나누어 관리한다.
  • 물리적 메모리를 같은 크기의 프레임으로 나눈다.
  • 외부 단편화 문제를 해결하고 메모리 할당을 단순화한다.

Segmentation:

  • 프로세스를 논리적 단위인 세그먼트로 나누어 관리한다.
  • 각 세그먼트의 크기는 가변적이다.
  • 프로그램의 논리적 구조를 반영하여 메모리를 관리한다.

Paging과 Segmentation 비교

특성PagingSegmentation
분할 단위고정 크기 페이지가변 크기 세그먼트
주소 변환페이지 테이블 사용세그먼트 테이블 사용
외부 단편화없음발생 가능
내부 단편화발생 가능거의 없음
메모리 활용효율적유연함
구현 복잡도상대적으로 간단복잡함
공유와 보호페이지 단위세그먼트 단위
사용자 관점투명함프로그램 구조 반영
할당/해제 속도빠름상대적으로 느림
테이블 크기작음

참고 및 출처