세그먼테이션

IT 위키

Segmentation : 세그먼테이션, 세그먼트 기법

프로그램을 논리적인 단위(세그먼트)로 나누어 주기억장치에 올리는 기억장치 관리 기법. 코드·데이터·스택처럼 의미 있는 덩어리로 나눈다.

  • 세그먼트의 크기가 서로 다르다. 논리적 단위를 그대로 옮기기 때문이다.
  • 프로그래머가 메모리를 세그먼트들의 조합으로 볼 수 있게 해 준다.
  • 주소는 (세그먼트 번호, 오프셋) 두 부분으로 이루어진다.
  • 세그먼트 테이블로 실제 주소를 찾는다.

페이징과의 비교

[편집 | 원본 편집]
페이징 세그먼테이션
나누는 기준 고정 크기 논리적 단위, 가변 크기
내부 단편화 생긴다 생기지 않는다
외부 단편화 생기지 않는다 생긴다
주소 (페이지 번호, 오프셋) (세그먼트 번호, 오프셋)

세그먼테이션에는 외부 단편화가 생기고 내부 단편화는 생기지 않는다. 크기를 필요한 만큼 잡기 때문에 안에 남는 공간이 없는 대신, 빈자리가 여기저기 흩어진다. 둘을 합친 것이 페이지화된 세그먼트 기법이다.

같이 보기

[편집 | 원본 편집]