Skip to main content

가상 주소 공간

View all Operating System Knowledges.

virtual-address-space

VAS(Virtaul Address Space, 또는 그냥 Address Space)란, 프로세스에 사용할 수 있는 주소의 집합을 가리킨다. 가상 주소 공간은 0부터 시작해, 운영체제의 ISA에 설정된 가장 높은 주소까지 해당된다.

가상 주소 공간을 사용하면, 실제 물리적 메모리의 위치가 아닌 가상의 주소를 사용한다. 이로써 다음의 특징이 있다.

  • 프로세스는 독립된 주소 공간을 할당받기 때문에, 다른 프로세스의 메모리에 접근하는 것을 막을 수 있다.
  • 실제 물리적인 메모리 구조가 아닌 가상의 메모리를 사용하기 때문에 프로그래밍을 단순화할 수 있다.
  • 실제 메모리보다 큰 메모리 버퍼에 접근할 수 있다. 이때, 실제 메모리 공간이 작아지면, 메모리 관리자가 실제 메모리 페이지(4 KB)를 디스크 파일에 저장한다.
    • 데이터 또는 코드 페이지는 필요에 따라 실제 메모리와 디스크 간에 이동된다.
  • 32bit 프로세스의 경우, 일반적으로 2 GB(2^32 Byte) 가상 주소 공간(0x0000000 ~ 0x7FFFFFFF)이 할당된다.
  • 64bit 프로세스의 경우, 일반적으로 128 TB(2^64 Byte) 가상 주소 공간(0x000'00000000 ~ 0x7FFF'FFFFFFFF)이 할당된다.
Related Links