[컴퓨터 기초] 가상 메모리 소개

Robert.Yang·2023년 3월 20일

컴퓨터 기초

목록 보기
19/28
post-thumbnail

이 강좌는 널널한 개발자님의 강의를 기반으로 작성한 글입니다.

가상 메모리 소개

가상 메모리 시스템

우리가 범용적인 윈도우같은 OS를 애기할때는 가상 메모리에 대하여 이야기하게 된다. 윈도우에서 작업관리자를 키게되면 페이징풀과 비페이징풀이라는 생소한 용어가 등장하게 된다. 또한 여기서 공통적인 용어 페이지라는 용어도 생소할 것이다. 유추해보면 페이지를 하는 것을 페이징, 안 하는것을 비페이징이라고 하는 것 같은데 그럼 페이지는 무엇일까? 페이지란 OS에서 RAM처럼 사용하는 하드 디스크 영역이다. 이게 무슨 말일까? 예를 들어보자. 8GB RAM이 존재하고 프로그램을 10개정도 실행할 수 있다고 해보자. 근데 내가 만약 15개 프로그램을 실행하고 싶다고 하자. 하지만 메모리 부족으로 실행이 안될것 같지만 그게 아니고 HDD 영역의 일부를 끌고 와서 RAM인것처럼 사용을 한다. 물론 속도는 느려지겠지만 실행은 가능하다. 페이지라는 조각난 단위를 HDD와 RAM사이를 공간이동하면서 RAM이 있는것처럼 작동을 하는 것이다.

자, 좀 더 구체적으로 보자. 크롬을 실행해서 웹 사이트에 접속했다고 보자. 크롬을 실행될때 프로세스가 생성되고 OS로부터 메모리를 할당받는다. 이때 이 메모리를 VMS(Virtual Memory Space)라고 불린다. 그 때 메모리 안에 페이지를 공간 조각 단위가 있는데 이 페이지를 따라가면 RAM이 나올 수도 있고 HDD가 나올 수가 있는데 만약 MS Word같은 프로그램이 동시에 실행되고 있다고 보자. 그러면 똑같이 프로세스가 생성되고 VMS를 할당받고 그 안에 페이지를 따라갈껀데 만약 빠른 작업으로 RAM을 써야하는데 RAM용량이 부족하면 OS가 기존에 쓰고 있던 RAM의 공간을 HDD로 이동하고 사용하게 된다. 이렇게 주기억장치에서 보조기억장치로 페이지가 쫓겨나는 것을 페이지 아웃이라고 불린다. 만약 다시 안으로 들어오면 페이지 인이라고 불린다.

이렇게 되면 프로세스간에 서로 간섭을 할 필요가 없어지며 만약 프로세스가 어떠한 오류로 죽으면 페이지 조각 및 VMS를 회수하게 된다.

가상 메모리를 사용하는 이유

  • 각 프로세스 공간을 완벽하게 분리하고 통제할 수 있다.
  • 프로세스 오류가 운영체제에 까지 영향을 주지 못하도록 차단할 수 있다.
  • 메모리가 부족해도 여러 프로그램들이 작동하는 등 자원을 효율적으로 사용할 수 있다.
profile
모든 것을 즐길 줄 아는 개발자, 양성빈입니다.

0개의 댓글