페이징(Paging)
- 가상 메모리를 관리하는 방법이다.
- 가상 메모리는 메모리에 로드된 즉, 실행중인 프로세스가 가상의 공간을 참조하여 마치 커다란 물리 메모리를 갖고 있는 것처럼 사용할 수 있도록 하는 것이다.
- 간단하게 말해 실제 메모리 주소가 아닌 가상의 메모리 주소를 주는 방식이다.
ex) 실행하고자 하는 프로그램이 내 메모리보다 용량이 크다
⇒ 이때 가상 메모리를 사용
가상 메모리(Virtual Memory)
- 메모리는 한정적인데 프로세스 용량이라던가, 프로세스의 수가 늘어나면 다중 프로그래밍이 힘들어질 수 있다.
- 이럴 때를 대비해서, 프로세스의 데이터 전체가 메모리에 올라가지 않더라도, 가상의 주소공간을 이용해서 프로세스를 유지할 수 있게끔 해주는 것을 의미한다.
- 가상 메모리는 각 프로세스당 메인 메모리와 동일한 크기로 하나씩 할당된다. 그 공간은 보조기억장치(HDD, SDD등) 공간을 이용한다.
- 프로세스의 일부만 메모리에 로드하고 나머지는 대용량 저장장치인 디스크에 두는 형태이다.(이를 스왑 아웃(Swap out)이라 한다.)
- 스왑 아웃할 페이지를 결정하는 최소 최근 사용(LRU, Least Recently Used) 알고리즘은 성능 저하를 막기 위한 다양한 기법 중 하나이다.