줘이리의 인생적기

세그멘테이션 기법 본문

공부/운영체제

세그멘테이션 기법

줘이리 2021. 11. 24. 23:00
728x90

페이징 기법과 다른 세그멘테이션 기법에 대해서 알아보겠다.

 

세그멘테이션 기법은 가상 메모리를 같은 크기의 블록으로 분할하는 페이징 기법과는 다르게 가상 메모리를 서로 크기가 다른 논리적 단위인 세그먼트로 분할하는 기법이다.

 

code segment, data segment, stack segment, extra segment로 나누어 메모리에 접근한다.

 

세그먼트 가상주소도 페이징 가상 주소와 비슷하다.

v = (s, d)로 나타내며, s는 세그먼트 번호, d는 블록 내 세그먼트의 변위를 나타낸다.

세그먼트 페이지를 찾아가서 물리주소를 알아내고 물리 메모리에 있는 해당 세그먼트를 가서 변위만큼 떨어진 데이터에 접근한다.

 

 

사진으로 보면 명확한데, segmentation 기법은 외부 단편화 문제가 일어날 수 있다. 

물리메모리의 segment사이사이에 원하는 연속된 크기의 메모리를 제공 못하는 경우를 외부 단편화 문제라고 한다.

 

paging 기법은 내부 단편화 문제가 일어날 수 있다.

페이지 블록만큼(4KB)만큼 딱 맞게 채워져 있지 않을 때 공간낭비가 일어날 수 있다. 이를 내부 단편화 문제라고 한다.

'공부 > 운영체제' 카테고리의 다른 글

파일 시스템  (0) 2021.11.26
가상메모리, 페이징 시스템  (0) 2021.11.22
IPC(InterProcess Communication)  (0) 2021.11.19
Thread  (0) 2021.11.17
PCB(Process Context Block), Context switching  (0) 2021.11.15