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의 공간 낭비 발생 → 내부 단편화
결론
- 페이징은 메모리 연속성의 제약을 제거하고 외부 단편화를 해결하는 메모리 관리 기법입니다.
- 하지만 내부 단편화 문제는 여전히 존재합니다.
반응형
'코딩 도구 > CS 면접 도구' 카테고리의 다른 글
CS 공부 & 면접 맛보기 0x13 [운영체제] : UNIX 메모리 구조 설명 (0) | 2025.01.29 |
---|---|
CS 공부 & 면접 맛보기 0x12 [운영체제] : 페이지 교체 알고리즘의 종류 설명 (0) | 2025.01.27 |
CS 공부 & 면접 맛보기 0x10 [운영체제] : Process 상태 변화 과정 (0) | 2025.01.22 |
CS 공부 & 면접 맛보기 0x0F [운영체제] : 인터럽트와 트랩 (0) | 2025.01.20 |
CS 공부 & 면접 맛보기 0x0E [운영체제] : 데드락(Deadlock)의 해결 방법 (0) | 2025.01.17 |