727 단어
4 분
가상 메모리

가상 메모리란?#

가상 메모리(Virtual memory)는 메모리 관리 기법 중 하나로 컴퓨터 시스템에 실제 이용 가능한 자원을 추상화하여 사용자들에게 매우 큰 메모리로 보이게 만드는 것

NOTE

각 프로그램에 실제 메모리 주소가 아닌 가상의 메모리 주소를 주는 방식을 말합니다

등장 배경#

과거 컴퓨터는 제한된 물리 메모리(RAM)으로 큰 프로그램이나 다중 프로그래밍에 어려움을 겪었음

  • 해결책으로 오버레이 기법을 사용했찌만, 복잡한 프로그래밍이 필요하여 좀 더 쉽게 메모리 관리하는 기법이 필요했음
  • 1956년 독일의 물리학자 프리츠 루돌프가 가상메모리라는 개념을 만듬
TIP

물리 메모리와 논리 메모리를 분리하여 물리 메모리보다 큰 논리 메모리 공간을 제공하여 프로세스가 더 많은 메모리를 사용할 수 있도록 발명

사용 이점#

  • 물리 메모리 제약 극복
  • 메모리 관리 효율성 향상
  • 메모리 보호 기능 강화
  • 프로그램 개발 및 실행 유연성 향상
  • 멀티태스킹 성능 향상 : 사용자에게 더욱 더 빠른 응답성 제공 및 짧은 시간 간격으로 프로세스들을 번갈아 가면서 실행 가능

구현 방법#

  • 가상 메모리는 운영체제와 하드웨의 협력으로 구현. MMU, 스왑공간, 요구 페이징을 이용

메모리 관리 장치 (MMU)#

  • 메모리 관리 장치는 CPU가 메모리에 접근하는 것을 관리하며, 페이지 테이블을 사용하여 가상 주소와 물리 주소간의 매핑을 관리하고, 페이지 폴트 발생 시 운영체제에 알리는 역할

스왑공간 (Swap Area)#

  • 스왑 공간은 물리 메모리가 부족할 때, 운영체제가 디스크의 일부 공간을 마치 RAM처럼 사용하는 가상 메모리 영역을 뜻함
  • 실행중인 프로세스의 주소 공간을 일시적으로 메인 메모리에서 디스크에 내려 놓는 공간
  • 하드 디스크에서 사용되지만 휘발성으로 사용됨

요구 페이지 (Demand Paging)#

  • 프로그램 실행 시 필요한 페이지만 메모리에 로드하는 기법
  • 스왑된 페이지를 필요할 때 메모리에 적재하고 기본적인 페이징 기법에 따라 주소를 변환

무효 비트 (Invalid Bit)#

  • 모든 페이지가 처음부터 메모리에 올라와 있지 않기에 페이지 테이블에 각 페이지 상태를 나타내는 비트가 필요
  • 이 때 무효 비트가 사용됨
가상 메모리
https://devlog.jpstudy.org/posts/2025/cs/virtual_memory/
저자
SY
게시일
2025-04-01
라이선스
CC BY-NC-ND 4.0