-->

[정보처리기사] 가상기억장치의 구현기법 (페이징, 세그멘테이션)

가상기억장치의 개요

가상기억장치는 보조기억장치(하드디스크)의 일부를 주기억장치처럼 사용하는 것을 말한다.

 

- 주기억장치의 용량보다 큰 프로그램을 실행시키기 위해 사용됨

- 이러한 가상기억장치의 일반적인 구현 방법에는 페이징 기법과 세그멘테이션 기법이 존재함

주기억장치: 처리용, 용량작음, 속도빠름 (RAM, ROM)
보조기억장치: 저장용, 용량큼, 속도느림 (하드디스크)

 

 

가상기억장치 구현기법

페이징(Paging) 기법 - 내부단편화

페이징 기법은 가상기억장치에 보관되있는 프로그램과 주기억장치의 영역을 동일한 크기로 나눈 후, 나눠진 프로그램(페이지)을 동일하게 나눠진 주기억장치의 영역(페이지 프레임)에 적재시켜 실행하는 기법을 말한다.

 

- 프로그램을 일정한 크기로 나눈 단위 : 페이지

- 페이지 크기대로 일정하게 나누어진 주기억장치의 단위 : 페이지 프레임

- 외부 단편화는 발생하지 않으나 내부 단편화가 발생할 수 있음

- 주소변환을 위해 페이지 위치 정보를 가지고 있는 페이지 맵 테이블이 필요함

- 페이지 맵 테이블로 인해 비용이 증가되고 처리속도가 감소됨

내부 단편화 : 분할을 사용하고 남은 일부분으로, 페이지크기가 4KB이고 프로그램 크기가 17KB라면 마지막 페이지의 크기가 1KB가 되고 이것이 주기억장치에 적재되면 3KB의 내부단편화가 발생하게 된다.

 

 

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

세그멘테이션 기법은 가상기억장치에 보관되어있는 프로그램을 다양한 크기의 논리적 단위로 나눈 후 주기억장치에 적재시켜 실행시키는 방법이다.

 

- 프로그램을 논리적 크기로 나눈 단위 : 세그먼트

- 각 세그먼트는 고유한 이름과 크기를 갖음

- 세그멘테이션 기법을 이용하는 이유는 기억공간을 절약하기 위함

- 주소변환을 위해 세그먼트가 존재하는 위치 정보를 갖고있는 세그먼트 맵 테이블이 필요함

- 세그먼트가 주기억장치에 적재될 때 다른 세그먼트가 침범할 수 없고, 이를 위해 기억장치 보호키가 필요함

- 내부단편화는 발생하지 않으나 외부단편화가 발생

 

댓글

Designed by JB FACTORY