: 프로그램과 프로그램 수행에 필요한 데이터 및 코드를 저장하는 기억장치
프로그램이 CPU에서 사용되기 위해서는 메인 메모리(RAM)를 점유하고 있어야한다.
점점 커지는 프로그램에 의해 여러 프로세스를 동시에 실행하는 시스템에서는 메모리 용량 부족 이슈가 발생해 가상 메모리라는 것이 생겼다.
: 메모리 관리 기법 중 하나로 HDD의 일부를 RAM으로 활용하게끔 하여 실제 주기억장치보다 큰 메모리 영역을 제공하는 방법
어떤 프로세스가 실행될 때 메모리에 해당 프로세스 전체가 올라가지 않고 실행에 필요한 일부분만 메모리에 올라간다.
➡️ 프로세스들의 내용 중 현재 실행에서 덜 중요한 것들을 하드디스크의 공간에 옮겨놓음으로써 적은 양의 메모리로 큰 효율을 낼 수 있다.
: 모든 페이지를 물리적 메모리에 올리지 않고 당장 필요한 페이지만 메모리에 올리는 방식
- 페이지(Page): 가상 메모리를 사용하는 최소 크기 단위.
- 프레임(Frame): 물리 메모리를 사용하는 최소 크기 단위.
요구 페이징 방식을 사용하게 되면 CPU가 프로그램을 실행하면서 필요한 페이지가 물리적 메모리에 없는 경우도 생기는 것
물리적 메모리에 비어있는 프레임이 존재하지 않는 경우에는 페이지 폴트를 최소화하기 위한 Page Replacement 알고리즘을 사용한다.
Page Replacement 알고리즘
- FIFO (First In First Out): 가장 먼저 메모리에 들어온 페이지를 먼저 교체하는 방식
- LRU (Least Recently Used): 가장 오랫동안 사용되지 않은 페이지를 교체하는 방식
- LFU (Least Requently Used): 페이지가 가장 적게 사용된 페이지를 교체하는 방식