메모리
, 보조기억장치
, 메모리 공간 크기
, 스왑 영역
, 스왑 아웃
, 스왑 인
swapping은 메모리에서 사용되지 않는 일부 프로세스를 보조기억장치로 내보내고, 실행할 프로세스를 메모리에 적재하는 메모리 관리 기법입니다. swapping을 통해, 프로세스들이 요구하는 메모리 공간의 크기가 실제 메모리 크기보다 크더라도 프로세스들을 동시에 실행할 수 있게 됩니다.
이때, 메모리에서 스왑 영역(swap space, backing store)으로 옮겨지는 행위를 스왑 아웃(swap-out), 반대로 스왑 영역에 있던 프로세스가 메모리로 옮겨오는 것을 스왑 인(swap-in)이라고 합니다.
메모리에 적재된 프로세스 중에는 현재 실행되지 않는 프로세스가 있을 수 있다. 그런데, 메모리의 크기가 충분하지 않아 가득차 있는 경우에, 새로운 프로그램을 메모리에 적재할 수 없다. 그래서, 현재 사용되지 않는 프로세스를 임시로 보조기억장치의 스왑 영역으로 강제로 빼고, 그렇게 생긴 빈 공간에 다른 프로세스를 적재하는 방식이 필요해진 것이다. 결국, 메모리 공간 부족 문제를 해결하기 위해 등장한 방법이다.
standard swapping은 프로세스 단위로 swapping이 발생한다. 하지만 standard swapping은 현재는 잘 사용되지 않는다. 메모리와 보조기억장치 간에 프로세스 전체를 이동시키는 것이 어렵기 때문에, paging swapping을 사용한다.