정처기 감자정처기 감자
네트워크/OS메모리/프로세스

메모리 페이지 교체 알고리즘

네트워크/OS메모리/프로세스
읽는데 5분 소요
처음 쓰인 날: 2025-09-20
마지막 수정일: 2026-09-27
조회수: —

요약

메모리 관리를 위한 필수 개념, 페이지 교체 알고리즘을 파헤쳐봅니다. 페이지와 페이지 부재의 개념부터 FIFO, LRU, LFU 알고리즘의 동작 방식과 차이점을 명확히 이해하고, 정보처리기사 실기 대비 문제로 실력을 점검하세요.

페이지 교체 알고리즘 정리

알고리즘교체 대상기반 원리
FIFO가장 먼저 메모리에 들어온 페이지선입선출
LRU가장 오랫동안 사용되지 않은 페이지시간 지역성
LFU참조 횟수가 가장 적은 페이지참조 빈도

페이지 교체 알고리즘은 가상 메모리 시스템에서 물리 메모리(RAM)의 프레임이 부족할 때, 어떤 페이지를 보조기억장치로 내보낼지 결정하는 알고리즘입니다.

페이지 교체가 필요한 이유

페이지 교체 알고리즘은 가상 메모리 위에서 동작합니다. 문제를 풀 때 필요한 용어만 짧게 정리하면 다음과 같습니다.

용어뜻
페이지프로그램이 보는 메모리 공간(논리 주소 공간)을 일정한 크기로 나눈 블록
프레임(페이지 프레임)RAM을 페이지와 같은 크기로 나눈 자리. "페이지 프레임이 3개"는 페이지를 담을 자리가 3칸이라는 뜻
참조프로그램이 어떤 페이지를 사용하는 것. 문제에 주어지는 페이지 순서가 참조 순서
페이지 부재참조한 페이지가 RAM(프레임)에 없어 보조기억장치에서 가져와야 하는 상황

페이지 부재가 났는데 빈 프레임이 없으면, RAM에 있는 페이지 하나를 보조기억장치로 내보내고(swap-out) 그 자리에 필요한 페이지를 가져옵니다(swap-in). 이때 "어떤 페이지를 내보낼 것인가?"를 결정하는 규칙이 바로 페이지 교체 알고리즘입니다.

페이지 테이블로 주소를 바꾸는 과정과 페이지 부재가 처리되는 순서는 가상 메모리 글에서 그림과 함께 자세히 다룹니다.


주요 페이지 교체 알고리즘

페이지 교체 알고리즘의 목표는 페이지 부재 횟수를 최소화하여 시스템 성능을 높이는 것입니다. FIFO, LRU, LFU가 대표적인 알고리즘입니다.

FIFO (First-In, First-Out)

FIFO 알고리즘
FIFO 알고리즘 - 선입선출(가장 먼저 들어온 페이지를 가장 먼저 내보낸다)

가장 간단한 알고리즘으로, RAM에 가장 먼저 들어온 페이지를 가장 먼저 내보내는 방식입니다. 마치 줄을 서서 먼저 온 사람이 먼저 나가는 것과 같습니다.

이미 메모리에 있는 페이지가 다시 참조되면 페이지 부재가 발생하지 않습니다.
페이지 교체 없이 그대로 유지되며, 들어온 순서도 변하지 않습니다.
  • 장점: 구현이 매우 간단합니다.
  • 단점: 자주 사용되는 페이지임에도 불구하고 먼저 들어왔다는 이유만으로 교체될 수 있어 비효율적일 수 있습니다. (이를 Belady의 모순(Belady's Anomaly) 이라고도 합니다. 프레임 수를 늘렸는데도 페이지 부재가 더 많이 발생하는 현상)

LRU (Least Recently Used)

가장 오랫동안 사용되지 않은 페이지를 교체하는 알고리즘입니다. "최근에 사용된 페이지는 가까운 미래에도 다시 사용될 것이다"라는 시간 지역성(Temporal Locality) 아이디어를 기반으로 합니다.

이미 메모리에 있는 페이지가 다시 참조되면 페이지 부재가 발생하지 않습니다.
페이지 교체 없이 해당 페이지의 사용 시간만 현재로 갱신됩니다. 즉, 메모리 안에서 순서만 바뀔 뿐 새로 들어오는 것이 아닙니다.
  • 장점: FIFO에 비해 페이지 부재율이 낮고, 일반적으로 좋은 성능을 보입니다.
  • 단점: 각 페이지의 최근 사용 시간을 기록하고 유지해야 하므로, 운영체제의 부담이 크고 구현이 복잡합니다.

LFU (Least Frequently Used)

참조 횟수가 가장 적은 페이지를 교체하는 알고리즘입니다. "과거에 많이 사용된 페이지는 앞으로도 많이 사용될 것이다"라는 가정에 기반합니다.

이미 메모리에 있는 페이지가 다시 참조되면 페이지 부재가 발생하지 않습니다.
페이지 교체 없이 해당 페이지의 참조 횟수만 1 증가합니다. LRU와 달리 자리를 위로 옮기지 않으므로, 표에서도 그 페이지가 있던 줄에 그대로 두고 횟수만 올리면 됩니다.
교체되어 메모리에서 빠진 페이지는 참조 횟수가 초기화됩니다.
나중에 같은 페이지가 다시 적재되면 참조 횟수 1부터 새로 시작합니다. 이전에 몇 번 참조되었는지는 기록되지 않습니다.
  • 장점: LRU가 잡아내지 못하는 장기적인 참조 패턴을 고려할 수 있습니다.
  • 단점:
    • 참조 횟수를 계산하기 위한 오버헤드가 큽니다.
    • 초기에 많이 사용되었지만 더 이상 사용되지 않는 페이지가 계속 메모리에 남아있을 수 있습니다.
    • 참조 횟수가 동일한 페이지가 여러 개일 경우, 어떤 것을 교체할지 결정하기 위한 추가적인 규칙(e.g., FIFO)이 필요합니다.

정보처리기사 실기 대비 문제

문제를 불러오는 중이에요.
문제를 불러오는 중이에요.
문제를 불러오는 중이에요.
문제를 불러오는 중이에요.
문제를 불러오는 중이에요.
문제를 불러오는 중이에요.
문제를 불러오는 중이에요.
문제를 불러오는 중이에요.
문제를 불러오는 중이에요.
메가커피와 함께, 홈페이지 개선에 참여하세요! ☕
혹시 이용에 불편한 점이나 개선이 필요한 부분을 발견하셨나요? 댓글로 알려주시면 더 나은 감자가 될 수 있어요! 🥔 제보해주신 모든 분께 메가커피 기프티콘을 드립니다! (본인 이메일로 댓글 달아주셔야해요~)

관련 글

(21개)
제목태그업데이트시험
가상 메모리 - 페이지, 프레임, 페이지 테이블
메모리/프로세스네트워크/OS메모리/프로세스
2026-09-27-
메모리/프로세스 정보처리기사 실기 모의 시험
메모리/프로세스네트워크/OS메모리/프로세스
2025-10-03응시
프로세스 스케줄링 알고리즘
메모리/프로세스네트워크/OS메모리/프로세스
2026-10-20-
메모리/프로세스3개
제목태그업데이트시험
가상 메모리 - 페이지, 프레임, 페이지 테이블
메모리/프로세스네트워크/OS메모리/프로세스
2026-09-27-
메모리/프로세스 정보처리기사 실기 모의 시험
메모리/프로세스네트워크/OS메모리/프로세스
2025-10-03응시
프로세스 스케줄링 알고리즘
메모리/프로세스네트워크/OS메모리/프로세스
2026-10-20-
네트워크/OS18개
제목태그업데이트시험
라우터 인터페이스 IP 주소 구하기
IP네트워크/OSIP
2026-10-20-
서브넷 마스크 블록 크기(Block Size)
IP네트워크/OSIP
2026-10-14-
CIDR 표기법과 프리픽스 길이
IP네트워크/OSIP
2026-10-23-
OSI 7계층 - 계층별 역할과 PDU 한눈에 정리
네트워크 7계층네트워크/OS네트워크 7계층
2026-07-03-
Shell Script 정보처리기사 실기 모의 시험
Shell Script네트워크/OSShell Script
2026-01-24응시
IP 주소
IP네트워크/OSIP
2026-09-30-
Unix/Linux 기본 명령어 정리 (pwd, ls, cd, cp, mv, rm)
shell script네트워크/OSshell script
2026-01-11-
네트워크/OS 왕감자 정보처리기사 실기 모의 시험
네트워크/OS네트워크/OS
2025-11-04응시
리눅스 chmod 명령어 사용법 (8진수 권한 설정)
chmod네트워크/OSshell scriptchmod
2025-10-13-
데이터 링크 프로토콜과 오류 제어
네트워크 7계층네트워크/OS네트워크 7계층
2026-10-20-
IP 정보처리기사 실기 모의 시험
IP네트워크/OSIP
2025-10-25응시
네트워크 계층 프로토콜
네트워크 7계층네트워크/OS네트워크 7계층
2026-10-22-
네트워크 전송 방식: 패킷 교환 vs 서킷 교환
네트워크 7계층네트워크/OS네트워크 7계층
2026-10-22-
네트워크 7계층 정보처리기사 실기 모의 시험
네트워크 7계층네트워크/OS네트워크 7계층
2025-10-03응시
서브넷 마스크(Subnet Mask)
IP네트워크/OSIP
2026-10-20-
서브넷팅(Subnetting)
IP네트워크/OSIP
2026-09-27-
응용 계층 프로토콜
네트워크 7계층네트워크/OS네트워크 7계층
2026-10-23-
라우팅 프로토콜 IGP, EGP 종류
라우팅 프로토콜네트워크/OSIP라우팅 프로토콜
2026-10-20-

댓글

댓글을 불러오고 있어요
정처기 감자정처기 감자

정보처리기사 합격
도와줄라고 하는 감자

실기 이론

  • 이론 공부법
  • DB
  • 네트워크/OS
  • SW 설계
  • SW 개발
  • 보안/신기술

시험 응시

  • 시험장 찾기
  • 원서 접수
  • 응시자격 서류

요약 PDF

  • 26년 3회 이론 압축
  • 26년 3회 코딩 압축
  • 초압축 25년 3회
  • 압축 25년 3회

기출문제

  • 전체 기출문제
  • 25년 3회
  • 25년 2회
  • 문제 포럼

감자 이용권

  • 이용권 구매

실기 이론

  • 이론 공부법
  • DB
  • 네트워크/OS
  • SW 설계
  • SW 개발
  • 보안/신기술

시험 응시

  • 시험장 찾기
  • 원서 접수
  • 응시자격 서류

요약 PDF

  • 26년 3회 이론 압축
  • 26년 3회 코딩 압축
  • 초압축 25년 3회
  • 압축 25년 3회

기출문제

  • 전체 기출문제
  • 25년 3회
  • 25년 2회
  • 문제 포럼

감자 이용권

  • 이용권 구매
© 2025 재현기획개발. All rights reserved.
  • 정처기 감자의 시작
  • 업데이트 로그
  • 개인정보 처리방침
  • 이용약관
상호명 : 재현기획개발 / 주소: 서울특별시 영등포구 영등포로 150, 지하1층 108호 L145 가라지(당산동1가, 생각공장 당산) / 대표: 김재현 / 전화: 010-8158-7127 / 통신판매업신고: 제2025-서울영등포-1569호 / 이메일: contact@edugamja.com / 사업자등록번호: 573-51-00999