2025-09-11 21:54

Tags: 소프트웨어 공학

가상 메모리

  • 실제 물리 메모리(RAM)의 한계를 넘어 각 프로세스에 거대한 전용 메모리 공간을 제공하는 기술
  • 주소 변환(페이징, 페이지 테이블)을 통해 논리적 주소를 물리적 주소로 매핑하며, 필요할 때만 데이터를 RAM으로 가져온다.
용어설명도서관 비유
프로세스 (Process)현재 실행 중인 프로그램.책을 찾으려는 사람.
가상 주소 공간 (Virtual Address Space)프로세스가 자신만의 것이라고 믿는 연속적인 메모리 공간.도서관의 모든 책 목록(인덱스 카드). 사람은 이 목록만 보고 책을 찾는다.
물리 주소 공간 (Physical Address Space)실제 RAM의 주소 공간.도서관의 실제 책장. 책은 여기에 꽂혀 있다.
페이지 (Page)가상 주소 공간을 일정한 크기로 나눈 블록. (보통 4KB)책 목록(인덱스)의 한 페이지.
프레임 (Frame)물리 주소 공간을 페이지와 같은 크기로 나눈 블록.책장의 한 칸. 정확히 책 한 권이 들어갈 크기.
페이징 (Paging)가상 주소 공간을 페이지 단위로 나눠 물리 메모리의 프레임에 불연속적으로 할당하는 기법.책 목록의 내용을 실제 책장 위치와 연결하는 작업.
페이지 테이블 (Page Table)가상 주소(페이지 번호)와 실제 물리 주소(프레임 번호)의 매핑 정보를 담고 있는 표. 각 프로세스마다 하나씩 존재.책 목록(인덱스)과 실제 책장 위치를 기록해 둔 ‘장부’.
MMU (Memory Management Unit)CPU가 요청한 가상 주소를 실제 물리 주소로 변환해주는 하드웨어 장치.책 위치를 물어보면 장부를 보고 실제 책장 위치를 알려주는 사서.
스왑(스와핑) 공간 (Swap Space)물리 메모리가 부족할 때, 당장 사용하지 않는 페이지를 잠시 내려놓는 디스크(HDD/SSD)의 특정 영역.책장에 자리가 없어 잠시 책을 보관해두는 ‘지하 서고’.