새소식

반응형
밥벌이/운영체제

가상 메모리 개요

  • -
반응형
  • 가상 메모리의 개념
    • 기억 용량이 작은 주기억 장치를 마치 용량이 큰 것처럼 사용할 수 있도록 하는 운영체제의 메모리 운영 기법
    • 하드웨어적으로 실제 존재하는 것이 아니고, 소프트웨어적인 방법으로 보조 기억 장치를 주기억 장치처럼 사용하는 것
    • 대부분의 프로그램들이 프로그램 전체가 동시에 실행되지 않기 때문에 부분적인 적재로도 프로그램을 실행 시킬 수 있다는 점을 이용
    • 실행 중인 프로세스가 참조하는 주소는 어떤 상대적인 위치만 알고 있고, 실제로 참조하는 주소는 베이스(base)가 되는 주소에 상대적인 주소를 더한 주소(실제 주소 = 베이스 주소 + 상대 주소)가 됨
         
  • 가상 주소 공간과 실제 주소 공간
    • 실행 중인 프로세스가 참조하는 가상 주소 공간(논리적 주소, 프로그램 주소)을 실제 주소공간(물리적 주소)으로 변환해야 하며, 이때 변환 과정을 사상이라고 하며, 변환 함수로 표현
    • 프로그램 주소 공간을 V, 메인 메모리 주소 공간을 R이라 하면, 사상 F에 의해 가상 메모리가 정의됨
      • F : V → R, 가상 주소(V)와 실제 주소(R)의 분리
      • 프로그램 상의 가상 주소 V가 메인 메모리 실제 주소 R에 적재되어 있으면, R = F(V)
    • 동적 주소 변환(DAT; Dynamic Address Translation) 기법
      가상 주소 공간 상의 연속적인 주소가 메인 메모리에서의 실제 주소 공간에서 연속적일 필요가 없다는 개념에서 출발한 기법
    • 2 단계 메모리 기법
      • 1단계
        프로세스가 수행되고 참조되는 데이터를 저장하는 1차 기억 장소인 메인 메모리
      • 2단계
        • 제한된 메인 메모리에 들어갈 수 없는 데이터를 저장하는 2차 기억 장치의 디스크와 같은 대용량 메모리
        • 이러한 2단계 메모리를 보조 기억 장치라 하며, 프로세스가 수행되려면 해당되는 코드와 데이터는 메인 메모리(물리적 기억장치)로 적재되어야 함
             
  • 블록 사상(Mapping)
    • 블록 단위의 사상 테이블(Mapping Table)
      • 동적 주소 변환 기법은 가상 메모리의 어느 부분이 현재 실제 메모리의 어디에 존재하는가를 나타내는 사상 테이블을 유지해야 함
      • 사상의 단위를 바이트 또는 워드 단위로 하는 경우 사상 테이블의 정보량이 너무 커지게 되므로 그 양을 줄이기 위해서는 일정 크기의 블록 단위로 나누어 그 위치의 장소만을 관리하는 사상 테이블을 사용
    • 페이지와 세그먼트
      가상 메모리의 분할 단위로서 일정한 크기의 블록을 페이지라고 하여 '페이징 기법'이라 하고 다른 크기이면 세그먼트라 하여 '세그먼트 기법'이라고 함
    • 2차원적인 주소 체계
      가상 주소 v = (b, d), b : 블록 번호, d : 블록시작점으로부터의 변위(Offset)
    •    
  • 페이지 기법
    • 가상 주소의 표기
      페이지 기법에서의 가상 주소는 v = (p, b)로 표시되며, p는 v가 속해 있는 페이지이며, d는 페이지 p의 시작 위치로부터의 변위
    • 페이지 프레임
      메인 메모리도 가상 메모리의 페이지와 같은 크기로 분할되며, 이를 페이지 프레임 또는 프레임이라고 함
    • 페이지 사상 기법
      가상 주소 v = (p, d)의 p로부터 p'를 구하여 메인 메모리의 실제 주소인 r = (p', d)을 구함
반응형

'밥벌이 > 운영체제' 카테고리의 다른 글

입.출력 모듈의 기능  (0) 2011.05.05
입.출력 동작의 처리 기법  (0) 2011.05.05
가상 메모리 관리 기법  (0) 2011.04.17
가상 메모리 페이지 교체 알고리즘  (0) 2011.04.17
스래싱(Thrashing)  (0) 2011.04.17
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.