현대 컴퓨터 시스템에서 메모리는 프로그램과 데이터를 임시로 저장하여 프로세서가 빠르게 액세스할 수 있도록 하는 핵심 자원이다. 하지만 물리적 메모리(RAM)는 한정되어 있기 때문에 운영체제는 가상 메모리라는 개념을 도입하여 보다 효율적으로 메모리를 관리하고자 한다.
메모리의 이해
메모리의 역할
- 임시 저장소
컴퓨터 내에서 프로그램 실행 중에 필요한 데이터와 명령어를 저장 - 속도와 접근성
프로세서가 빠르게 데이터에 접근할 수 있게 하여 전반적인 시스템 성능업 - RAM (Random Access Memory)
일반적으로 휘발성이며 전원이 꺼지면 저장된 정보가 사라짐
메모리 구조 및 한계
- 물리적 메모리
실제 설치된 RAM의 용량에 따라 시스템의 성능이 결정된다. - 한계
모든 프로그램이 동시에 실행될 때 물리적 메모리의 용량 부족 문제가 발생할 수 있다.
가상 메모리 관리
가상 메모리란?
- 개념
가상 메모리는 실제 물리적 메모리보다 큰 메모리 공간을 제공하는 기법으로 운영체제가 하드 디스크의 일부 영역을 메모리처럼 사용하게 한다. - 목적
프로그램에 충분한 메모리 공간을 할당하고 여러 프로세스가 동시에 실행될 수 있도록 지원한다.
가상 메모리의 작동 원리
- 주소 변환 (Address Translation)
프로세스는 자신의 가상 주소 공간을 가지며 CPU와 운영체제는 이를 물리적 메모리 주소로 변환하기 위해 페이지 테이블(Page Table)을 사용한다. - 페이지(Page) 단위 관리
가상 메모리는 작은 단위의 페이지로 나누어 관리되며 필요한 페이지만 물리적 메모리에 로드된다. - 스왑(Swap) 또는 페이지 아웃(Page Out)
물리적 메모리에 여유 공간이 없을 경우 사용하지 않는 페이지를 하드 디스크의 스왑 영역으로 옮겨 메모리 공간을 확보한다.
페이지 교체 (Page Replacement)
페이지 교체란?
- 정의
가상 메모리 관리에서 물리적 메모리가 부족할 때 새로운 데이터를 위해 기존의 메모리 페이지를 스왑 영역으로 이동시키거나 삭제하는 과정을 의미한다. - 필요성
한정된 물리적 메모리 내에서 여러 프로세스가 원활하게 실행되도록 하기 위해 반드시 필요하다.
페이지 교체 알고리즘
여러 알고리즘이 존재하며 대표적인 예는 다음과 같다.
- FIFO (First-In, First-Out)
가장 먼저 메모리에 들어온 페이지를 우선적으로 교체한다. - LRU (Least Recently Used)
가장 오랫동안 사용되지 않은 페이지를 교체하여 최근에 사용된 페이지는 유지한다. - OPT (Optimal)
앞으로 가장 오랫동안 사용되지 않을 페이지를 교체하지만 미래를 예측해야 하므로 현실적으로 구현하기는 어렵다.
페이지 폴트(Page Fault) 처리
- 페이지 폴트 발생
프로세스가 참조한 페이지가 물리적 메모리에 존재하지 않을 때 발생한다. - 처리 과정
운영체제는 하드 디스크에서 해당 페이지를 찾아 메모리에 로드하고 필요한 경우 다른 페이지를 교체한다. - 성능 영향
페이지 폴트가 자주 발생하면 하드 디스크의 접근 속도가 느리기 때문에 시스템 전체의 성능 저하로 이어질 수 있다.
'컴퓨터 과학' 카테고리의 다른 글
Protocol이란? (0) | 2025.04.15 |
---|---|
파일과 디렉터리의 이해 (0) | 2025.04.15 |
현대 컴퓨터 시스템의 자원 관리 및 데드락 해결 전략 (2) | 2025.04.07 |
프로세스와 관련된 개념 정리 (0) | 2025.04.07 |
운영체제와 컴퓨터 하드웨어 구조 이해하기 (0) | 2025.01.16 |