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)의 특정 영역. | 책장에 자리가 없어 잠시 책을 보관해두는 ‘지하 서고’. |