CS 공부 & 면접 맛보기 0x11 [운영체제] : 페이징이란

2025. 1. 24. 23:00코딩 도구/CS 면접 도구

반응형

질문

페이징(Paging)이란 무엇인가요?

면접 답변

페이징(Paging)은 하나의 프로세스가 사용하는 메모리 공간이 연속적이어야 한다는 제약을 없애는 메모리 관리 기법입니다.

  • 도입 이유: 외부 단편화와 압축 작업을 해소하기 위해 고안되었습니다.
  • 동작 방식:
    • 물리 메모리는 프레임(Frame)이라는 고정 크기의 블록으로 나뉩니다.
    • 논리 메모리(프로세스 메모리)는 페이지(Page)라는 고정 크기의 블록으로 나뉩니다.

장점:

  • 논리 메모리는 물리 메모리에 연속적으로 저장될 필요가 없음.
  • 외부 단편화(External Fragmentation) 해결 가능.
  • 남는 프레임에 페이지를 효율적으로 배치.

단점:

  • 내부 단편화(Internal Fragmentation) 문제 해결 불가.

예시:

  • 페이지 크기가 4KB이고, 프로세스 크기가 11KB인 경우:
    • 4KB 단위로 나누면 총 3개의 블록(4KB + 4KB + 3KB) 필요.
    • 마지막 3KB 블록에서 1KB의 공간 낭비 발생 → 내부 단편화

결론

  • 페이징은 메모리 연속성의 제약을 제거하고 외부 단편화를 해결하는 메모리 관리 기법입니다.
  • 하지만 내부 단편화 문제는 여전히 존재합니다.
반응형