803 단어
4 분
페이징과 세그멘테이션 기법

메모리 관리 기법: 페이징과 세그멘테이션#

TIP

초기 컴퓨터는 연속 할당 방식을 사용 구현은 단순하지만 메모리 단편화와 동적 크기 변화에 대응하기 어려움 이후 페이징과 세그멘테이션 기법이 등장 MS-DOS나 임베디드에서는 아직 연속할당을 사용
현재는 대부분 페이징 기법을 기반으로 운영

공통점#

  • 메모리를 일정 단위로 나누어 사용
  • 논리 주소를 물리 주소로 변환
  • 페이징 테이블 또는 세그멘테이션 테이블로 변환 과정을 관리
  • 메모리 보호 기능을 지원
  • 가상 메모리와 연동 가능하다는 점이 특징

세그멘테이션 기법#

세그멘테이션은 논리적 단위인 세그먼트(코드, 데이터, 스택 등)로 나누어 메모리에 할당
세그먼트 크기는 가변적이며, 외부 단편화가 발생할 수 있음 메모리 보호와 접근 권한 설정이 가능하며, 동적 크기 변경 시 압축이 필요할 수 있음

TIP

각 세그먼트는 연속된 메모리 공간을 할당받음 프로세스 전체가 연속된 공간에 있지 않아도 됨

대표 기반 프로그램#

  • Intel 80286
  • Multics
  • IBM System/38
  • HP 3000

페이징 기법#

페이징은 메모리를 고정 크기 페이지로 분할하고, 각 페이지를 프레임에 할당
페이지 크기는 일반적으로 4KB 또는 8KB 외부 단편화 문제는 해결되지만, 내부 단편화가 발생할 수 있음 주소 변환 과정에서 성능 오버헤드가 있으나 가상 메모리와 궁합이 좋음

대표 운영체제#

  • Windows NT 계열 (Windows 10, 11 등)
  • Linux (Ubuntu, CentOS, Debian 등)

페이징과 세그멘테이션 비교#

특징페이징 (Paging)세그멘테이션 (Segmentation)
분할 단위고정 크기 페이지가변 크기 세그먼트
책임 주체운영체제컴파일러 및 운영체제
크기 결정하드웨어에 의해 고정사용자/컴파일러가 결정
속도상대적으로 빠름상대적으로 느림
단편화 유형내부 단편화 가능외부 단편화 가능
크기 제약페이지 크기=프레임 크기크기 제한 없음

페이징 기법이 가상 메모리에 적합한 이유#

  • 고정 크기 페이지로 메모리 관리가 단순
  • 가상 주소와 물리 주소 간 매핑이 쉽고 효율적
  • 동적 메모리 요구와 프로그램 크기 변화에 유연하게 대응

가상 메모리 개념#

가상 메모리는 실제 물리 메모리보다 큰 메모리를 사용하는 것처럼 보이게 함
프로그램은 가상의 메모리 주소를 받아 사용하며, 이는 실제 주소가 아님 이로써 실제 물리 메모리 한계를 극복하고 큰 프로세스 실행이 가능

TIP

페이징과 세그멘테이션은 현대 운영체제의 핵심 메모리 관리 기법

페이징과 세그멘테이션 기법
https://devlog.jpstudy.org/posts/2025/cs/pagingsegment/
저자
SY
게시일
2025-04-27
라이선스
CC BY-NC-ND 4.0