너도 나도 공부할때

스와핑에 대해 알아보자.

kernellifestory 2025. 3. 12. 18:26

스와핑(Swapping)이란?

스와핑은 운영체제가 메모리 관리 기법 중 하나로,
현재 실행 중인 프로세스를 메모리에서
디스크(백업 스토리지)로 이동시키거나,
반대로 디스크에서 메모리로 불러오는 과정을 의미합니다.

스와핑의 개념

목적: 메모리를 효율적으로 활용하고,
다중 프로세스 환경에서
CPU를 최대한 활용하기 위함

동작 방식:

메모리가 부족할 때, 실행 중인 프로세스 중
일부를 디스크(보조 기억장치)로 이동

새로운 프로세스를 실행하거나
기존 프로세스를 다시 실행해야 하면,
디스크에 있던 프로세스를 다시 메모리로 가져옴

스와핑의 장점과 단점

✅ 장점:

다중 프로그래밍(멀티태스킹) 환경에서
메모리를 효율적으로 사용할 수 있음

일시적으로 필요하지 않은 프로세스를
디스크로 옮김으로써 메모리 공간 확보

❌ 단점:

디스크 입출력(I/O) 속도가 RAM보다 느려
성능 저하(스와핑 오버헤드) 발생 가능

스와핑이 자주 발생하면 시스템 전체 속도가
느려지는 스레싱(Thrashing) 문제 발생

결론

스와핑은 CPU와 메모리를 최적화하여
시스템이 여러 프로세스를 동시에 실행할 수 있도록 도와주는 기법으로,
너무 자주 발생하면 성능이 저하될 수 있다.

그래서 현대 운영체제에서는 스와핑보다
페이징(Paging) 또는 세그멘테이션(Segmentation)과
같은 기법을 더 많이 사용한다.