← 질문 목록
#195깊이 0
가상 메모리 관리 시 페이징과 세그멘테이션은 무엇으로 구분하는가?
메모리를 나누는 물리적 단위로 나누느냐, 논리적 단위로 나누느냐의 차이다.
| 기준 | 페이징 | 세그멘테이션 |
|---|---|---|
| 분할 단위 | 고정 크기 | 가변 크기 |
| 분할 근거 | 가상 주소 공간을 같은 크기로 | 논리적 구조 (코드, 데이터, 스택) |
| 단편화 | 내부 단편화 | 외부 단편화 |
페이징은 메모리를 동일한 크기의 페이지로 쪼갠다. 가상 주소 공간을 같은 크기로 나눠 물리 메모리의 같은 크기 자리에 하나씩 맞춘다. 크기가 같으니 사이에 못 쓰는 틈이 안 생긴다. 하지만 마지막으로 할당된 페이지에 공간이 남으면 내부 단편화가 발생한다.
세그멘테이션은 코드, 데이터, 스택처럼 의미론적 단위로 메모리를 분할한다. 사용자가 정의한 논리적 구조를 반영하므로 보호와 공유가 쉽다. 다만 조각마다 크기가 서로 달라 사이에 빈틈이 생긴다. 외부 단편화다.
추천 꼬리질문
관련 질문
- TLB 미스가 발생했을 때 처리 과정은 무엇인가?운영체제TLB는 페이징 기법에서 주소 변환 속도를 높이기 위해 사용하는 하드웨어 캐시이다.
- 가상 메모리 관리에서 페이징과 세그먼테이션은 무엇으로 구분하는가?운영체제가상 메모리 관리의 페이징과 세그멘테이션 구분이라는 동일한 주제를 다루고 있다.
- 가상 메모리는 무엇을 해결하는가?운영체제가상 메모리가 해결하려는 문제와 이를 구현하는 구체적인 기법인 페이징/세그멘테이션의 관계를 다룬다.
- 가상 메모리를 사용하는 이유는 무엇인가?운영체제가상 메모리를 관리하는 구체적인 기법인 페이징과 세그멘테이션을 다룬다.
- JVM 메모리 영역은 어떻게 구분하는가?언어 · 런타임