세그먼테이션
IT 위키
Segmentation : 세그먼테이션, 세그먼트 기법
프로그램을 논리적인 단위(세그먼트)로 나누어 주기억장치에 올리는 기억장치 관리 기법. 코드·데이터·스택처럼 의미 있는 덩어리로 나눈다.
- 세그먼트의 크기가 서로 다르다. 논리적 단위를 그대로 옮기기 때문이다.
- 프로그래머가 메모리를 세그먼트들의 조합으로 볼 수 있게 해 준다.
- 주소는 (세그먼트 번호, 오프셋) 두 부분으로 이루어진다.
- 세그먼트 테이블로 실제 주소를 찾는다.
| 페이징 | 세그먼테이션 | |
|---|---|---|
| 나누는 기준 | 고정 크기 | 논리적 단위, 가변 크기 |
| 내부 단편화 | 생긴다 | 생기지 않는다 |
| 외부 단편화 | 생기지 않는다 | 생긴다 |
| 주소 | (페이지 번호, 오프셋) | (세그먼트 번호, 오프셋) |
세그먼테이션에는 외부 단편화가 생기고 내부 단편화는 생기지 않는다. 크기를 필요한 만큼 잡기 때문에 안에 남는 공간이 없는 대신, 빈자리가 여기저기 흩어진다. 둘을 합친 것이 페이지화된 세그먼트 기법이다.
