본문 바로가기

CS/Operating System

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

728x90

1. 가상기억장치

  • 보조기억장치(하드디스크)의 일부를 주기억장치처럼 사용하는 기법이다.
  • 주기억장치 용량이 작더라도 가상기억장치를 통해 큰 용량처럼 사용 가능하다.

2. 블록 분할 방법

(1) 페이징 (Paging) 기법

  • 가상기억장치를 같은 크기의 블록(페이지)으로 나누어 운용하는 기법이다.
  • 외부 단편화는 발생하지 않으나, 내부 단편화는 발생한다.
  • 페이지와 메모리 영역 구분

페이징 (Paging)

  • 페이지 크기별 비교
페이지 크기 기억장소 효율 단편화 입출력 시간 맵 테이블
클수록 감소 증가 감소 감소
작을수록 증가 감소 증가 증가

 

(2) 세그멘테이션 (Segmentation) 기법

  • 가상 메모리를 크기가 다른 논리적 단위(세그먼트)로 분할하여 메모리를 할당하는 기법이다.
  • 세그먼트 테이블을 참조하여 주소 변환을 수행한다.
  • 내부 단편화는 발생하지 않으나, 외부 단편화는 발생한다.
  • 세그멘테이션 기법 주소 변환
순서 설명
1 가상 주소의 변위값과 세그먼트 크기 비교
2 변위값이 작거나 같으면 기준 번지와 변위값을 더해 주기억장치에 접근
3 변위값이 크면 다른 영역을 침범하므로 실행 권한을 운영체제에 넘기고 트랩 발생
  • 아래 세그먼트 테이블에서 S=(2,100)의 실제 주소는 2100이다.
세그먼트 번호 크기 시작 주소
0 1200 4000
1 800 5700
2 1000 2000
3 500 3200

 

 

728x90