가상 메모리를 서로 다른 크기의 논리적 단위인 세그먼트(Segment)로 분할하는 것을 말한다. 페이징 기법에서는 가상 메모리를 같은 크기의 블록으로 분할하는것과 차이가 있다.
예를 들어 x86 리얼모드에서는 CS(Code Segment), DS(Data Segment), SS(Stack Segment), ES(Extra Segment)로 나누어 메모리에 접근한다.
세그멘트 가상주소는 다음과 같이 표현할 수 있다.
v = (s, d)
- s : 세그먼트 번호
세그멘테이션은 다음 그림과 같이 크기가 다른 segment 단위로 물리 메모리에 로딩한다.
세그멘테이션/페이징 모두 하드웨어의 지원 필요
cf. 다양한 컴퓨터 시스템의 이식성을 중요시하는 리눅스는 페이징 기법으로 구현