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시스템은 가상 메모리를 규정된 사이즈의 블록단위로 분할하여 관리한다.(블록 사이즈??) 분할된 블록들은 가상페이지라 부른다. 각 가상페이지(그리고 물리프레임)은 P = 2p 바이트의 크기를 갖는다.
가상페이지는 세 개의 중첩되지 않은 부분집합으로 나누어진다.
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)에 상주하게 된다.