IT 지식/CS 기초

가상 메모리란?

Security Engineer 2024. 8. 9. 00:10

가상 메모리 시스템(1)

그림1 - 가상 메모리

  • Virtual ≒ Logical = S/W → 소프트웨어적으로 메모리를 구성 = 가상 메모리
  • 가상 메모리의 주소 공간은 페이지(Page)라는 단위로 일정 크기 분할되어 있다.
  • Page 라는 조각 단위를 HDD와 RAM 사이를 왔다갔다 하면서 공간 이동 → Paging
  • Page = 약 4KB

Paging(페이징) 예시

  1. RAM(8GB) = 10개 프로그램 실행 가능
  2. 필요에 의해 15개 프로그램을 실행해야 하는 경우
  3. HDD 영역의 일부 용량을 가져와서 RAM인것처럼 사용한다.
  4. 속도는 느려지지만 15개 프로그램이 실행된다.

 

 

가상 메모리 시스템(2)

그림2 - 가상 메모리 할당 방식

  • 운영체제에서 프로세스가 실행되는 경우, 메모리 공간을 할당해준다. = VMS(Virtual Memory Space)
  • 가상 메모리를 사용하게 되면 RAM이 부족해도 프로세스가 동작하게되고, 각 프로세스가 보호되지만 속도가 느려진다.
  • 프로세스가 작동 중 오류로 인해 죽어버린 경우, 운영체제에서 해당 메모리 공간을 강제로 회수한다.

가상 메모리 할당 방법 (운영체제가 할당)

  1. Chrome 브라우저를 실행하여(프로세스 실행) 메모리 공간이 할당됨.
  2. 추가로 MS Word를 실행하게 되면(프로세스 실행) 부족한 메모리 공간을 확보해야함.
  3. 기존의 Chrome 브라우저의 메모리 공간을 HDD로 이동 시킴 → Page-Out = Swap-Out
  4. MS Word가 Chrome 브라우저가 사용했던 메모리 공간을 사용

주기억장치에서 보조기억장치로 Page가 이동 → Page-Out = Swap-Out

보조기억장치에서 주기억장치로 Page가 이동 → Page-In = Swap-In

 

 

 

가상 메모리 시스템을 사용하는 이유

  • 각 프로세스 공간을 완벽하게 분리하고 통제할 수 있다.
  • 프로세스 오류가 운영체제에 까지 영향을 주지 못하도록 차단할 수 있다.
  • 메모리가 부족해도 여러 프로그램들이 작동하는 등 자원을 효율적으로 활용할 수 있다.

 

 

그림으로 표현하는 가상 메모리 사용

그림3 - 가상 메모리 예시(1)
그림4 - 가상 메모리 예시(2)

그림3,4 출처:

https://cappleblog.tistory.com/247

 

 

 

 

결론

  • 가상 메모리 = RAM과 HDD를 섞어서 하나의 논리적 메모리로 사용하는 것

 

 

 

 

 

 

 

 

 

참고

https://www.inflearn.com/course/%EB%84%93%EA%B3%A0%EC%96%95%EA%B2%8C-%EC%BB%B4%EA%B3%B5-%EC%A0%84%EA%B3%B5%EC%9E%90