[시나공] 메모리 관리 & 페이지 교체 알고리즘 (Fetch / Placement / Virtual Memory / FIFO / LRU / LFU / Thrashing)
2026. 3. 27. 19:31ㆍCertifications/정보처리기사 실기
1️⃣ 메모리 관리 전략
✅ 반입 전략 (Fetch Strategy)
- 보조기억장치에 있는 프로그램이나 데이터를 언제 주기억장치로 적재할지 결정하는 전략
✅ 종류
| 전략 | 설명 |
|---|---|
| 요구 반입 (Demand Fetch) |
실행 중인 프로그램이 특정 프로그램이나 데이터를 요구할 때 적재 |
| 예상 반입 (Anticipatory Fetch) |
실행 중인 프로그램이 앞으로 참조할 데이터를 미리 예상하여 적재 |
🎯 포인트
- Demand Fetch → 요구 시 적재
- Anticipatory Fetch → 미리 예측 적재
2️⃣ 배치 전략 (Placement Strategy)
✅ 개념
- 새로 반입되는 프로그램이나 데이터를 주기억장치의 어느 위치에 배치할 것인지 결정하는 전략
✅ 종류
| 전략 | 설명 |
|---|---|
| First Fit | 들어갈 수 있는 첫 번째 빈 영역에 배치 |
| Best Fit | 단편화를 가장 작게 남기는 영역에 배치 |
| Worst Fit | 단편화를 가장 크게 남기는 영역에 배치 |
🎯 포인트
- First Fit → 첫 번째 빈 공간
- Best Fit → 남는 공간 최소
- Worst Fit → 남는 공간 최대
3️⃣ 가상기억장치 (Virtual Memory)
✅ 개념
- 보조기억장치의 일부를 주기억장치처럼 사용하는 기법
- 용량이 작은 주기억장치를 큰 기억장치처럼 사용할 수 있도록 하는 기술
🔹 특징
- 프로그램을 작은 블록 단위로 나누어 관리
- 필요한 부분만 주기억장치에 적재
- 메모리 사용 효율 증가
🔹 구현 기법
| 기법 | 설명 |
|---|---|
| Paging | 프로그램을 같은 크기의 페이지로 분할 |
| Segmentation | 프로그램을 논리적 단위(세그먼트)로 분할 |
🎯 포인트
- 가상기억장치 = 보조기억장치를 주기억장치처럼 사용
- 구현 기법 → Paging / Segmentation
4️⃣ 페이지 교체 알고리즘
✅ 개념
- 페이지 부재(Page Fault)가 발생했을 때
- 어떤 페이지를 교체할 것인지 결정하는 알고리즘
🔹 종류
| 알고리즘 | 설명 |
|---|---|
| OPT | 앞으로 가장 오래 사용되지 않을 페이지 교체 |
| FIFO | 가장 먼저 들어온 페이지 교체 |
| LRU | 가장 오래 사용되지 않은 페이지 교체 |
| LFU | 사용 빈도가 가장 적은 페이지 교체 |
| NUR | 최근 사용 여부와 수정 여부 기준 교체 |
| SCR | Second Chance 방식 |
🎯 포인트
- 시험에서 FIFO / LRU / LFU / OPT 자주 출제
5️⃣ FIFO (First In First Out)
✅ 개념
- 가장 먼저 들어온 페이지를 먼저 교체하는 방식
🔹 특징
- 구현이 가장 단순
- 오래된 페이지 제거
🎯 포인트
- Queue 구조
- Belady's anomaly 발생 가능
6️⃣ LRU (Least Recently Used)
✅ 개념
- 가장 오랫동안 사용되지 않은 페이지를 교체
🔹 특징
- 최근 사용 패턴 반영
- FIFO보다 효율적
🎯 포인트
- 최근 사용 기록 필요
- 실제 운영체제에서 많이 사용
7️⃣ LFU (Least Frequently Used)
✅ 개념
- 사용 빈도가 가장 적은 페이지를 교체
🔹 특징
- 참조 횟수 기준 교체
- 오래 사용된 페이지는 유지 가능
🎯 포인트
- 참조 횟수 기준 교체
8️⃣ Locality (지역성)
✅ 개념
- 프로세스 실행 중 특정 페이지가 집중적으로 참조되는 성질
🔹 종류
| 종류 | 설명 |
|---|---|
| 시간 지역성 (Temporal Locality) |
최근 사용한 데이터 다시 사용 |
| 공간 지역성 (Spatial Locality) |
근처 데이터 함께 접근 |
🎯 포인트
- 캐시 / 가상기억장치 핵심 이론
9️⃣ Working Set (워킹 셋)
✅ 개념
- 프로세스가 일정 시간 동안 자주 참조하는 페이지들의 집합
🔹 특징
- 자주 사용하는 페이지를 메모리에 유지
- 페이지 교체 감소
🔟 Thrashing (스래싱)
✅ 개념
- 페이지 교체가 너무 자주 발생하여 시스템 성능이 급격히 저하되는 현상
🔹 특징
- 페이지 부재 증가
- CPU 사용률 감소
- 시스템 성능 저하
🎯 포인트
- 페이지 교체 과다 → 성능 저하
📊 시험 포인트 정리
🔥 1. 페이지 교체 알고리즘 계산 문제
- FIFO
- LRU
- LFU
👉 페이지 부재 횟수 계산 문제 매우 자주 출제
🔥 2. 알고리즘 특징 구분 문제
| 알고리즘 | 핵심 키워드 |
|---|---|
| FIFO | 먼저 들어온 페이지 교체 |
| LRU | 가장 오래 사용되지 않은 페이지 |
| LFU | 사용 빈도 가장 적은 페이지 |
| OPT | 앞으로 가장 오래 사용되지 않을 페이지 |
🔥 3. Locality 유형 구분 문제
| 유형 | 의미 |
|---|---|
| Temporal | 시간 지역성 |
| Spatial | 공간 지역성 |
🔥 4. 가상기억장치 구현 방식
- Paging
- Segmentation
🔥 5. Thrashing 개념 핵심 키워드
- 페이지 교체 증가
- CPU 활용률 감소
- 성능 저하
📌 암기 핵심 요약
- 메모리 관리 = Fetch + Placement + Virtual Memory + Page Replacement
- 페이지 교체 알고리즘 → FIFO / LRU / LFU / OPT
- 가상기억장치 핵심 → Paging / Segmentation
- 성능 문제 → Thrashing

2025 시나공 퀵이지 정보처리기사 실기 단기완성
(저자: 강윤석, 김용갑, 김우경, 김종일 | 출판사: 길벗)
※ 본 글은 위 교재를 참고하여 학습 목적으로 재정리한 내용입니다.