Notice
Recent Posts
Recent Comments
Link
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

dongdorodongdong

가상기억장치의 관리기법 본문

Operating System

가상기억장치의 관리기법

d5ngs 2019. 6. 10. 22:50

개요

  • 보조기억장치의 일부분을 주기억장치처럼 사용
  • 용량이 적은 주기억장치를 마치 큰 용량이 있는 것처럼 사용
  • 프로그램을 여러 개의 작은 블록으로 나눔
  • 프로그램 수행 시 요구되는 블록만 주기억장치에 불연속적으로 할당
  • 주기억장치보다 용량이 큰 프로그램을 실행하기 위해 사용
  • 가상기억장치의 주소를 주기억장치의 주소로 변환하는 작업이 필요 (Mapping)

구현 기법
  1. 고정 분할(정적)
    - Paging

  2. 가변 분할(동적)
    - Segmentation

Paging 기법
  • 정의
    - 가상기억장치에 보관되어 있는 프로그램과 주기억장치의 영역을 동일한 크기로 나눔(나눈 단위는 페이지 프레임)

  • Mapping(주소변환)
    - 가상주소(보조기억장치) → 실주소(주기억장치)

  • 특징
    - 주소 변환을 위해 페이지 맵핑 테이블이 필요

    - 기억장소 낭비

  • Page Fault
    - P/G 실행 시 참조한 페이지가 주기억장치에 없는 현상

  • 페이지 크기가 작을 때
    - 단편화 감소
    - 페이지를 주기억장치로 이동하는 시간이 줄어듦
    - 프로그램 수행에 필요한 내용만 주기억장치에 적재할 수 있음
    - Locality에 더 일치할 수 있기 때문에 기억장치 효율이 높아짐
    - 페이지 맵핑 테이블의 크기가 커짐
    - 디스크 접근 횟수가 많아져서 전체적인 I/O 시간이 늘어남
    - 더 효율적인 Working Set을 유지할 수 있음

  • 페이지 크기가 클 때
    - 페이지 맵핑 테이블의 크기가 작음
    - 디스크 접근 횟수가 줄어들어 전체적인 I/O 시간이 줄어듬
    - 단편화 증가
    - 한 개의 페이지를 주기억장치로 이동하는 시간이 늘어남
    - 프로그램 수행에 불필요한 내용도 적재될 수 있음

Segmantation 기법
  • 가상기억장치에 보관되어 있는 프로그램을 다양한 크기의 논리적인 단위로 나눈 후 주기억장치에 적재시켜 실행
    - 메모리 절약
  • 논리적인 크기로 나눈 단위를 세그먼트
    - 각 세그먼트는 고유한 이름과 크기를 갖음
    - 다른 세그먼트에게 할당된 영역을 침범X
    - 기억장치 보호키가 필요
  • 외부단편화O


'Operating System' 카테고리의 다른 글

Spooling / Buffering  (0) 2019.06.13
Interuppt (인터럽트)  (0) 2019.06.12
컴퓨터 시스템 구조  (0) 2019.06.10
UNIX  (0) 2019.04.12
System S/W  (0) 2019.04.12