가상기억장치 구성
전공-OS

가상기억장치 구성

주기억장치에 프로그램 전체를 적재하는 방법: FPM, VPM, 스와핑 등…

하지만, 주기억장치의 포르세스 수는 제한적이므로 시스템 성능이 저하된다.

가상기억장치

  • 프로세스가 메모리에 적재되지 않아도 처리 가능한 관리 기법
  • 메모리가 더 많이 존재하는 것처럼 보이게 하므로디스크를 가상 메모리로 인식 메모리 부족 없이 사용할 수 있다.
  • 사용자 프로그램을 여러 블럭들로 분할
  • 실행 시 필요한 블럭들만 불연속적으로 주기억장치에 적재 => 다중프로그래밍 정도 향상, 시스템 성능 향상

분류

  • 페이징 시스템
  • 세그먼테이션 시스템
  • 위 두개의 합성 기법

프로그램 재배치 과정

skip?

프로그램을 분할하여 그 일부만을 비연속 적재하는 경우

상대주소 => 절대주소 변환 과정: 복잡하기 때문에 적절한 주소 사상 기법 필요

가상기억장치 시스템에선,

  • 가상 주소 = 상대 주소
  • 실제 주소 = 절대 주소

결과적으로 주소 사상 기법이 필요합니다…

주소 사상 과정

실행 프로그램이 주기억장치에 접근 시

  • 가상 주소 발생 -> 실주소 변환 @ 주소사상모듈
  • -> 주기억장치 접근 수행
  • 프로세스는 가상주소로 주기억장치에 접근으로 인식(주소사상과정 몰?루)
  • 인위적 연속성
    • 사용자 또는 프로세스 입장에서, 실행 프로그램 전체가 주기억장치에 적재되어 있는 것으로 보게 하는 개념
    • 실제 연속적이지 않은 주소를 연속된 것처럼 보이게 함

… 건너뛰기

페이징 (p314)

프로그램들을 같은 크기의 블럭들로 분할하는 메모리 기법

  • 논리적인 부분은 고려하지 않음 => 단순하고 효율적이나, 공유 및 보호의 문제가 발생할 수 있다.

  • 용어

    • 페이지

      실행 프로그램의 분할된 블록

    • 프레임

      파티션 영역. 페이지 크기와 같은 크기로 분할됨. sizeof 페이지 === sizeof 프레임

페이징 시스템에서 내부단편화가 발생할까요? 아닐까요? 발생합니다. 언제? 인지는 찾아보십쇼

image-20221208102720083

  • 주소 사상

    • 페이징 시스템에서의 가상 주소 v = (p, d)

    • PMT를 만들고 관리…

      중요해서 커널에 존재합니다.

      페이지가 메모리에 적재 또는 교체되는 경우 갱신

주소 사상 기법

직접 사상 기법

그림 보면서 공부하십숑

페이지 부재: 최악의 상황. 따라서 이걸 피해야 한다.

연관 사상 기법

PMT를 캐쉬 기억장치에 적재하는 기법

D램 대신 S램(연관기억장치)을 사용해 시간 줄이는

혼합 사상 기법

TLB 사용(소규모의 연관기억장치)

페이지를 저장하는 캐쉬메모리를 쓰ㅡ긴 쓰되 작은 캐쉬만 쓰자 이런 내용임