본문 바로가기
컴퓨터공학기초 개념/운영체제

35. 가상메모리 - 세그멘테이션 기법

by devraphy 2021. 7. 9.

1. Segmentation 기법

- 세그멘테이션 기법은 페이징 시스템과 비교되는 기법이다. 

- 페이징 기법과는 다르게 가상메모리를 서로 다른 크기의 논리 단위인 세그먼트(Segment)로 분할한다. 

  ▶ 페이징 기법에서는 가상 메모리를 동일한 크기의 단위인 페이지(page)로 분할한다. 

 

a) 세그먼트의 가상주소

▶ 가상주소 v = (s, d)

▶ s: 세그먼트 번호 

▶ d: 세그먼트 내부의 변위값  

 

b) 세그먼트의 물리주소 계산방식

- 세그먼트 또한 page table과 같은 역할을 하는 세그먼트 테이블을 갖고 있다. 

- 물리주소를 계산하는 방식 또한 page와 동일한 방식을 사용한다. 

클릭하면 확대됩니다. 


2. 페이징 시스템 vs 세그멘테이션 기법

클릭하면 확대됩니다.

- 세그먼트는 페이지와 다르게 서로 다른 크기로 물리 메모리에 적재된다. 


3. 참고 정보 

a) 내부 단편화(페이지 기법)

- 고정된 크기를 갖는 페이지로 인해 발생하는 문제점이다.

- 4kb의 페이지를 18kb의 메모리 공간에 할당한다고 하면, 최대 4개의 페이지를 할당할 수 있다.

- 페이지를 할당하고 난 후 18kb의 메모리 공간에서 2kb의 메모리 공간의 낭비가 발생한다. 

- 이처럼 페이지의 크기만큼 메모리 공간의 할당이 딱 떨어지지 않을 때 발생하게 되는 공간 낭비를 의미한다. 

 

b) 외부 단편화(세그멘테이션 기법)

- 서로 다른 크기를 갖는 세그먼트로 인해 발생하는 문제점이다.

- 10kb의 메모리 공간에 13kb의 세그먼트를 할당한다고 하면, 3kb의 공간이 초과된다. 

- 이처럼 메모리 공간에 비해 세그먼트의 크기가 커서 발생하게 되는 메모리 초과를 의미한다. 

댓글