본문으로 건너뛰기

페이징, 세그먼테이션

· 약 4분

메모리 관리 기법의 개념

  • 제한된 메모리 리소스를 효율적으로 사용하기 위해 메모리 관리 기법 필요

페이징 기법, 세그먼테이션 기법 개념, 핵심요소

페이징 기법, 세그먼테이션 기법 개념

구분페이징세그먼테이션
개념도pagingsegmentation
개념동일한 크기의 페이지 단위로 메모리를 나누고 주소를 매핑프로그램의 논리적 구성(코드, 데이터 등)에 따라 가변 길이의 세그먼트로 메모리를 관리
  • 페이징 기법은 동일한 크기로, 세그먼테이션 기법은 가변크기로 분할

페이징 기법, 세그먼테이션 기법 핵심요소

구분페이징세그먼테이션
단위크기고정, 페이지가변, 세그먼트
외부단편화없음있음
내부단편화있음없음
주소사상페이지테이블세그먼트테이블
복잡성단순주소, 사이즈 관리 복잡
프로세스 간 공유어려움용이
교체시간짧은느림
  • 페이징 기법의 메모리 관리 효율성, 세그먼테이션 기법의 논리적 메모리 관리 이점을 결합한 페이지드 세그먼테이션 기법 사용

페이지드 세그먼테이션 기법

  • 파일 관리는 세그먼트 단위로, 프로그램 조각은 페이지 단위로 관리

단편화 해결 기법

외부 단편화 해결 기법

  • 버디 메모리: 메모리를 2의 거듭제곱으로 나눈 뒤 필요시 블록을 나눠서 할당, 반환된 블록을 병합하여 더 큰 블록 생성
  • Best Fit

내부 단편화 해결 기법

  • 세그먼테이션
  • 슬랩 할당: 미리 정해진 크기의 슬랩 단위로 메모리 할당, 각 슬랩은 특정 객체의 캐시로 사용

메모리 관리 기법 선택시 고려사항

  • 외부단편화와 내부단편화를 줄이기 위해 버디메모리, 슬랩할당자 기법 사용 고려
  • 스레싱이 발생하지 않게 적절한 테이블 크기 설정