운영체제
스와핑
정재익
2025. 7. 24. 01:33
프로세스가 실행되기 위해서는 프로세스의 명령어와 명령어가 접근하는 데이터가 메모리에 있어야 한다.
그러나 프로세스 또는 프로세스의 일부분은 실행 중에 임시로 백업 저장장치로 내보내어 졌다가 실행을 계속하기 위해 다시 메모리로 되돌아 온다
모든 프로세스의 물리 주소 공간 크기의 총합이 시스템의 실제 물리 메모리 크기보다 큰 경우에도 스와핑을 이용하면 동시에 실행하는 것이 가능하여 다중 프로그래밍의 정도를 증가시킨다.
표준 스와핑
메인 메모리와 백업 저장장치 간에 전체 프로세스를 이동한다. 백업 저장장치는 일반적으로 빠른 보조저장장치다
대부분의 시간을 유휴 상태로 보내는 프로세스가 스와핑에 적합한 후보다
페이징 스와핑
표준 스와핑은 기존 UNIX에서 사용됐지만 프로세스 전체를 이동하는데 시간이 엄청나서 최신 운영체제에서는 사용이 안된다.
예외적으로 메모리가 매우 부족한 극한 상황에서만 사용하는 Solaris로 표준 스와핑을 사용되기도 한다.
프로세스 페이지를 스왑할 수 있는 변형 스와핑을 사용한다. 물리 메모리를 초과 할당할 수 있지만 비용은 안생긴다. 왜냐하면 적은 수의 페이지만 스왑에 관여하기 때문 보통 스와핑은 표준 스와핑 페이징은 페이징스와핑을 의미함
페이징-아웃은 페이지를 메모리에서 백업 저장장치로 이동 페이징-인은 그 반대다