학습 공간 개념 · 판단 · 실험

Fanta Lab

질문 175 · 실전 면접 답변

메모리 관리에서 페이징(Paging)과 세그멘테이션(Segmentation)은 주소 공간을 어떻게 나누나요?

이렇게 답해 보세요 (핵심 답변)

페이징은 가상 주소 공간을 고정 크기 페이지(Page)로 나누어 물리 프레임(Frame)에 매핑하는 방식이고, 세그멘테이션은 코드·데이터·스택처럼 논리적 영역을 가변 크기 구간(Segment)으로 다루는 방식입니다. 페이징은 물리 메모리에 큰 연속 공간이 없어도 배치할 수 있어 외부 단편화를 줄여 주지만 페이지 테이블 관리 비용과 내부 단편화가 따릅니다. 반면 세그멘테이션은 논리 단위 보호와 공유에 직관적이지만 가변 크기 할당에 따른 외부 단편화 문제가 생길 수 있습니다.

함께 설명하면 좋은 이유 (꼬리질문 대비)

  1. 페이징 환경에서는 개발자에게 보이는 가상 주소가 연속적이더라도 실제 물리 RAM의 프레임까지 연속해서 놓여 있는 것은 아닙니다.
  2. 현대 64비트 시스템은 거대한 가상 주소 공간을 효율적으로 다루기 위해 다단계(계층형) 페이지 테이블과 하드웨어 TLB 캐시를 함께 사용합니다.

면접에서 자주 하는 실수

모든 현대 운영체제가 교과서의 순수 가변 세그먼트 모델 그대로 물리 메모리를 나누어 쓴다고 설명하면 안 됩니다.

원리와 예제까지 읽기

공식 참고 자료

질문 목록 출처 ↗ · 원본 175번을 바탕으로 질문과 답변을 새로 정리했습니다.

← 운영체제