본문 바로가기
CS/OS

[운영체제] 가상 기억장치

by DenverAlmighty 2024. 12. 13.

1. 가상 기억장치

1) 가상 기억장치

보조기억장치의 일부를 주기억장치처럼 사용하는 방법으로, 용량이 작은 주기억장치를 마치 큰 용량을 가진 것 처럼 사용하는 방법이다.

구현 기법으로 페이징, 세그멘테이션이 있다. 

가상기억장치의 주소를 주기억장치의 주소로 바꾸는 주소 변환 작업이 필요하다.

주소 변환을 위한 테이블을 사용하므로 기억장소를 낭비할 수 있다. 

 

2) 가상기억장치 구현 기법

(1) 페이징 Paging

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

외부 단편화는 발생하지 않으나 내부 단편화는 발생할 수 있다.

페이지 맵 테이블이 필요하다.

 

 

(2) 세그먼테이션 Segmentation

: 가상 기억장치에 보관되어 있는 프로그램을 다양한 크기의 논리적인 단위로 나눈 후 주기억장치에 적재히켜 실행하는 기법이다. 프

로그램을 배열이나 함수 등과 같은 논리적인 크기로 나눈 단위를 세그먼트라고 하며, 각 세그먼튼느 고유한 일므과 크기르 갖고있다.

다른 세그먼트에게 할당된 영역을 침법할 수 없으며, 이를 위해 기억장치 보호키가 필요하다.

내부 단편화는 발생하지 않으나 외부 단편화는 발생할 수 있다.

세그먼트 맵 테이블이 필요하다.