OS - 페이징

itonse·2024년 5월 14일
0

CS 스터디

목록 보기
33/56

👀 해당 주제 질문 리스트 미리보기

Q1. 페이징에 대해 설명해주세요.
Q2. 페이징 기법의 단점에 대해 설명해주세요.


1. 페이징이란?

페이징(Paging)은 프로세스의 주소 공간을 일정한 크기의 페이지로 나누어 물리적 메모리의 서로 다른 위치에 저장하는 방식입니다. 페이징을 통해 물리 메모리에 연속적으로 저장할 필요 없이 페이지 단위로 분산하여 저장할 수 있습니다. 프로세스는 자신의 페이지들이 어디에 있는지 알아야 하므로 페이지 테이블이 존재합니다.

  • 페이지 테이블: 각 프로세스는 하나의 페이지 테이블을 가지며, 이를 통해 페이지와 물리 메모리 프레임을 매핑합니다.
  • 프레임 번호: 물리 메모리에서의 주소를 프레임 번호라고도 합니다.

이미지 출처

페이지 테이블을 통해 프로세스 내의 각 페이지는 물리적 메모리의 프레임에 저장되며, 이를 통해 주소 바인딩이 이루어집니다.



2. 페이징 기법의 문제점

메모리 내부 단편화 문제

페이징 기법은 메모리 내부 단편화를 초래할 수 있습니다. 프로세스를 페이지 단위로 나누다 보면 각 페이지 안에 사용되지 않는 공간이 남을 수 있습니다.

예를 들어, 100 크기의 프로세스를 30 크기의 페이지로 나누면 4개의 페이지가 생깁니다. 그런데 마지막 페이지는 10만 사용되고 나머지 20은 빈 공간으로 남게 됩니다. 이 빈 공간은 실제로 메모리에서 사용되지 않는 상태로 남아 있게 됩니다.



3. 페이징 관련 면접 질문

Q1. 페이징에 대해 설명해주세요

페이징은 프로세스를 일정한 크기인 페이지로 잘라서, 물리 주소와 가장 주소를 관리하는 방식입니다.


Q2. 페이징 기법의 단점에 대해 설명해주세요.

페이징 기법은 메모리 내부 단편화 문제를 초래할 수 있는데, 이는 각 페이지 내에 사용되지 않는 빈 공간이 생겨 물리 메모리의 일부가 낭비되는 현상입니다.



ref.
https://github.com/Seongwon97/tech-interview/blob/main/Q&A/OS_Q&A.md
https://onejunu.tistory.com/159

0개의 댓글