본문 바로가기
Computer Architecture/Virtual Address & Cache

Virtual Memory(가상 메모리)의 동작 방식

by FastBench 2024. 10. 24.
반응형

- 가상 메모리 시리즈 모아 보기-

https://microelectronics.tistory.com/99

 

가상 메모리의 동작 방식

가상 메모리는 프로그램이 보는 가상 주소(virtual address, VA)와 실제 컴퓨터에 설치된 물리 메모리(RAM)가 사용하는 물리 주소(physical address, PA) 간의 매핑을 제공하는 방식으로 동작한다. 가상 메모리는 컴퓨터 시스템에서 메모리를 효율적으로 관리하고, 제한된 물리 메모리를 초과하는 데이터도 디스크와의 연동을 통해 처리할 수 있도록 돕는다.

  1. 가상 주소와 물리 주소:
    • 가상 주소(VA)는 프로그램이 사용하는 주소이다. 
    • 물리 주소(PA)는 실제로 하드웨어에서 사용하는 주소로, 이는 시스템에 설치된 RAM 용량에 따라 달라진다. 예를 들어, 2GB의 RAM이 설치된 시스템은 2GB 범위의 물리 주소를 가진다.
  2. 주소 변환(매핑):
    프로그램은 가상 주소를 통해 메모리에 접근하려고 하지만, 실제로는 이 가상 주소가 물리 주소로 변환되어야 한다. 이 변환을 담당하는 것이 매핑 테이블이다. 프로그램이 특정 가상 주소를 액세스하려고 하면, 매핑 테이블을 참조해 해당 가상 주소가 어느 물리 주소에 대응하는지 확인한다.
  3. 메모리 부족 시 디스크 사용:
    가상 메모리의 장점 중 하나는 물리 메모리 부족 시, 데이터를 디스크로 옮겨 메모리를 확장하는 효과를 낸다는 것이다. 만약 프로그램이 액세스하려는 데이터가 물리 메모리에 없다면, 해당 데이터를 디스크에서 가져와 메모리에 적재하고, 매핑 테이블을 업데이트하여 가상 주소가 이제 메모리 상의 새로운 물리 주소를 가리키도록 한다.

    1. 예시 동작:
      1. 프로그램이 가상 주소 1024를 요청하면, 매핑 테이블을 참조해 해당 가상 주소가 물리 주소 2로 변환되고, 메모리에서 데이터를 가져와 프로그램에 반환한다.
      2. 만약 가상 주소 786의 데이터가 물리 메모리에 존재하지 않는다면 없다면, 디스크에서 데이터를 가져와 메모리에 적재한 후, 매핑 테이블을 업데이트해 이후 이 가상 주소가 새 물리 주소를 참조하게 한다.
반응형

결론

이러한 방식으로 가상 메모리는 프로그램이 사용하는 가상 주소와 물리 메모리의 실제 주소 간의 간접 참조를 통해 메모리를 효율적으로 관리하고, 물리 메모리 부족 문제를 해결한다.

 

다음 게시글에서는 매핑 테이블을 의미하는 '페이지 테이블' 에 대해서 다룬다.

 

Reference

반응형

댓글