![[3일차] 2025 정보처리산업기사 운영체제 – 가상기억장치(Virtual Memory) 1 정보처리산업기사 운영체제](https://i0.wp.com/jupocket.com/wp-content/uploads/2025/05/image.png?resize=492%2C492&ssl=1)
정보처리산업기사, 운영체제는 물리 메모리보다 큰 프로그램을 실행하기 위해 가상기억장치(Virtual Memory) 를 사용한다. 이는 실제로 모든 데이터를 메모리에 올려두지 않고, 필요한 일부만 적재하는 방식으로 프로세스 실행의 유연성과 효율을 극대화한다.
정보처리산업기사 1개월 단기 과정 스케줄을 확인하고 싶은분들은 아래글을 이용바랍니다.
1. 가상기억장치의 개념
1) 정의
가상기억장치는 보조기억장치(예: HDD, SSD) 의 일부를 주기억장치처럼 활용하는 기술이다.
즉, 사용자는 실제보다 더 큰 메모리를 사용하는 것처럼 느끼지만,
운영체제는 백그라운드에서 필요한 부분만 적재·교체한다.
| 구분 | 설명 |
|---|---|
| 물리 메모리(Physical Memory) | 실제 RAM |
| 가상 메모리(Virtual Memory) | 디스크 공간 일부를 논리 메모리로 사용 |
| 페이지 폴트(Page Fault) | 필요한 페이지가 메모리에 없을 때 발생하는 인터럽트 |
2) 동작 원리
- 프로세스는 논리주소(Logical Address) 를 기반으로 실행된다.
- MMU(Memory Management Unit)가 논리주소를 물리주소(Physical Address) 로 변환한다.
- 필요한 데이터가 메모리에 없으면 페이지 부재(Page Fault) 가 발생한다.
- 운영체제가 디스크에서 해당 페이지를 메모리로 불러온다.
- 교체 대상 페이지를 선택해야 하는데, 이때 페이지 교체 알고리즘이 사용된다.
3) 가상 메모리의 구성요소
| 구성요소 | 설명 |
|---|---|
| 페이지(Page) | 프로세스 단위로 나눈 일정 크기의 논리 블록 |
| 프레임(Frame) | 물리 메모리의 동일 크기 블록 |
| 페이지 테이블(Page Table) | 페이지 번호 ↔ 프레임 번호 매핑 |
| TLB (Translation Lookaside Buffer) | 최근 참조 주소 변환을 캐시 형태로 저장, 속도 향상 |
| 스왑 영역(Swap Area) | 보조기억장치 중 페이지 교체에 사용되는 공간 |
2. 페이징(Paging)
1) 원리
- 프로세스를 동일한 크기의 페이지(Page) 단위로 나누어 저장한다.
- 각 페이지는 물리 메모리의 프레임(Frame)에 배치된다.
- 페이지 테이블이 논리주소와 물리주소를 연결한다.
주소 변환 방식
논리주소 = (페이지번호, 오프셋)
물리주소 = 프레임번호 + 오프셋
2) 특징
| 구분 | 설명 |
|---|---|
| 장점 | 외부 단편화 해결, 메모리 효율 향상 |
| 단점 | 내부 단편화 가능, 주소 변환 오버헤드 증가 |
| 해결 | TLB를 통한 주소 캐싱 |
3. 세그먼테이션(Segmentation)
1) 원리
- 프로그램을 의미 단위인 세그먼트(Segment)로 분할한다. (예: Code, Data, Stack 등)
- 각 세그먼트는 서로 다른 크기를 가질 수 있다.
- 논리주소는 (세그먼트 번호, 오프셋) 으로 구성된다.
2) 특징
| 항목 | Paging | Segmentation |
|---|---|---|
| 기준 단위 | 고정 크기 (Page) | 가변 크기 (Segment) |
| 단편화 | 내부 단편화 | 외부 단편화 |
| 주소 구성 | 페이지번호 + 오프셋 | 세그먼트번호 + 오프셋 |
| 장점 | 단편화 해결 | 논리적 구조 반영 |
| 단점 | 주소 변환 복잡 | 외부 단편화 발생 가능 |
4. 페이징 + 세그먼테이션 혼합
현대 OS(Linux, Windows)는 페이징 + 세그먼테이션을 결합하여 사용한다.
- 세그먼트는 논리적 프로그램 구조를 반영
- 페이지는 실제 물리적 배치를 관리
예: x86 아키텍처의 메모리 관리 구조
5. 가상기억장치의 장점과 단점
| 구분 | 장점 | 단점 |
|---|---|---|
| 장점 | 물리 메모리보다 큰 프로그램 실행 가능, 메모리 효율 향상, 다중 프로그래밍 용이 | 페이지 폴트 발생 시 디스크 I/O로 인한 성능 저하 |
| 단점 | 주소 변환 복잡, 하드웨어 지원 필요, 교체 알고리즘 효율에 따라 성능 차이 발생 |
6. 실기 핵심 포인트
- 논리주소 → 물리주소 변환 구조 암기
- 페이지/프레임 개념 구분
- 세그먼트 구조와 단편화 구분
- 페이지 폴트와 교체 알고리즘 관계 이해
다음 학습 – 페이지 교체 알고리즘
다음 학습에서는 페이지 교체 알고리즘(FIFO, LRU, OPT) 을 다룬다. 가상기억장치에서 발생하는 페이지 폴트(Page Fault)를 줄이기 위한 다양한 교체 규칙과 계산 문제를 단계별로 풀이한다.