컴퓨터 시스템 - [9.가상메모리]

황수정·2021년 1월 15일
0

컴퓨터 시스템

목록 보기
2/6

가상메모리

virtual memory [VM]

  • 메인 메모리의 추상화
  • 메인 메모리를 디스크에 저장된 주소공간에 대한 캐시로 취급한다. 메인 메모리 내 활성화 영역만 유지하고, 데이터를 디스크와 메모리 간에 필요에 따라 전송하는 방법응로 메인 메모리를 효율적으로 사용한다.
  • 각각의 프로세스가 접근할 수 있는 메모리 통일된 주소공간을 제공함으로써 메모리 관리를 단순화한다.
  • 각 프로세스의 주소공간을 다른 프로세스에 의한 손상으로부터 보호한다.

물리주소와 가장주소

CPU는 가상 주소 지정으로 가상주소(VA)를 생성해서 메인 메모리에 접근하며, 이 주소가 메모리로 보내지기 전에 물리 주소로 변환된다. 이런 주소번역은 CPU칩 내의 MMU(메모리 관리 유닛)이라는 전용 하드웨어가 메인 메모리에 저장된 참조 체이블을 사용해서 한다. 이 테이블의 내용은 운영체제(운영체제: 컴퓨터라는 하드웨어를 운영하는 소프트웨어)가 관리한다.

주소 공간

주소공간은 비음수 정수 주소의 정렬집합이다.

주소공간의 정수가 연속적이라면, 이 공간은 선형 주소공간이라고 한다. 가상 메모리 시스템에서, CPU는 N = 2^n의 주소공간에서 가상 주소를 생성한다.

{0, 1, 2, ...N-1}

컴퓨터 시스템은 M바이트의 물리메모리로 대응되는 M바이트의 물리 주소를 갖는다.

4비트 주소공간은 16K의 가상주소공간을 가지고, 가장 큰 메모리주소는 16-1 = 15kilobyte이다.
현대 시스템이 지원하는 64비트 가상주소공간은 16E의 가상주소공간(가장 큰 메모리주소: 2^64-1)을 가지고, 32비트 가상주소공간은 4G(가장 큰 메모리주소: 2^32-1)를 가진다.

캐싱도구로서의 VM

[참고] https://jins-dev.tistory.com/entry/%EA%B0%80%EC%83%81-%EB%A9%94%EB%AA%A8%EB%A6%ACVirtual-Memory%EC%99%80-%ED%8E%98%EC%9D%B4%EC%A7%95Paging%EC%97%90-%EB%8C%80%ED%95%9C-%EC%A0%95%EB%A6%AC [가상메모리와 페이지]

메모리 계층구조 안의 캐시는 블록단위로 분할이 되며, VM시스템은 가상 메모리를 규정된 사이즈의 블록단위로 분할하여 관리한다.(블록 사이즈??) 분할된 블록들은 가상페이지라 부른다. 각 가상페이지(그리고 물리프레임)은 P = 2p 바이트의 크기를 갖는다.
가상페이지는 세 개의 중첩되지 않은 부분집합으로 나누어진다.

  • Unallocated: 아직 할당되지 않은 페이지들.
  • Cached: 물리 메모리에 캐시되어 할당된 페이지들
  • Uncached: 물리 메모리에 캐시되지 않은 할당된 페이지들

페이지 & 페이지 테이블

https://0x200.tistory.com/entry/8-%ED%8E%98%EC%9D%B4%EC%A7%95-2-%E2%80%93-%ED%8E%98%EC%9D%B4%EC%A7%95
http://egloos.zum.com/sweeper/v/2988646
페이지 테이블 : 가상주소를 물리주소로 변환하기 위한 매핑 테이블
프로세스마다 하나씩 존재하며, 메인 메모리(RAM)에 상주하게 된다.

profile
알고리즘 , 웹 공부 중인 개발자 지망생

0개의 댓글

관련 채용 정보