메모리에 적재된 프로세스들 중에는 현재 실행되지 않는 프로세스가 있을 수도 있다. 이러한 프로세스들을 임시로 보조기억장치 일부 영역으로 쫓아내고, 그렇게 해서 생긴 메모리상의 빈 공간에 또 다른 프로세스를 적재하여 실행하는 방식이다. 즉, 스와핑은 메모리 관리 기법이다.
스와핑을 이용하면 프로세스들이 요구하는 메모리 주소 공간의 크기가 실제 메모리 크기보다 큰 경우에도 프로세스들을 동시에 실행할 수 있다.
스왑 영역: 프로세스들이 쫓겨나는 보조기억장치의 일부 영역
스왑 아웃: 현재 실행되지 않는 프로세스가 메모리에서 스왑 영역으로 옮겨지는 것(메모리 => 스왑 영역)
스왑 인: 스왑영역 => 메모리
=> 참고로, 스왑 아웃되었던 프로세스가 다시 스왑 인될 때는 스왑 아웃되기 전의 물리 주소와는 다른 주소에 적재될 수 있다.
스왑 영역 확인하는 방법
유닉스, 리눅스, macOs에서는 free, top 명령어로 스왑 영역의 크기를 확인할 수 있다. 스왑 영역의 크기와 사용 여부는 사용자가 임의로 설정할 수 있다.
연속 메모리 할당
프로세스에 연속적인 메모리 공간을 할당하는 방식이다.
스와핑
스와핑을 이용하면 프로세스들이 요구하는 메모리 주소 공간의 크기가 실제 메모리 크기보다 큰 경우에도 프로세스들을 동시에 실행할 수 있다.
스왑 영역 확인하는 방법