운영체제

세그먼테이션

연속 할당의 단편화 문제를 해결하는 첫 번째 접근법은 프로그램을 논리적 단위로 나누는 것입니다. 프로그램은 코드, 데이터, 스택, 힙 등 서로 다른 성격의 영역으로 구성됩니다.

세그먼트 번호와 오프셋이 세그먼트 테이블을 거쳐 물리 주소로 바뀌는 과정을 확인합니다.

세그먼테이션 흐름

1

세그먼트의 개념

세그먼테이션(Segmentation)은 프로세스의 주소 공간을 의미 있는 논리적 단위로 분할하는 기법입니다.

2

세그먼트 테이블

논리 주소는 (세그먼트 번호 s, 오프셋 d) 쌍으로 구성됩니다.

3

세그먼테이션 폴트

허용 범위를 벗어난 세그먼트 접근은 Segmentation Fault로 차단됩니다.

4

세그먼테이션의 장단점

장점 프로그래머 관점 일치: 코드, 데이터, 스택이라는 논리적 단위와 일치합니다.