메모리 관리 기법인 스와핑과 메로리에 프로세스를 할당하는 바익, 연속 메모리 할당의 부작용인 단편화에 대해 학습해보자
스와핑
- 현재 실행되지 않는 프로세스를 임시로 보조기억장치 일부 영역으로 쫓아내고, 그 빈 공간에 또 다른 프로세스를 적재하여 실행하는 방식이다.
- 스와핑을 이용하면 메모리보다 큰 프로세스들을 동시 실행할 수 있다.
스왑
- 보조기억장치의 일부 영역 = 스왑 영역
- 현재 실행되지 않는 프로세스가 메모리 -> 스왑영역으로 옮겨지는 것 = 스왑아웃
- 반대로,스왑영역의 프로세스 -> 메모리로 옮겨지는 것 = 스왑 인

메모리 할당
- 프로세스는 메모리 내의 빈공간에 적재되어야 한다.
- 메모리 할당 방식에는 최초 적합, 최적 적합, 최악 적합이 있다.
최초 적합
- 운영체제가 메모리 내의 빈공간을 순서대로 검색하다가 배치하는 방식이다.
- 프로세스가 적재될 수 잇는 공간을 발견하는 즉시 메모리를 할당하는 방식이다.
- 검색 최소화와 빠른 할당이 특징이다.
최적 적합
- 운영체제가 빈공간을 모두 검색한 후에, 적재할 수 있는 공간 중 가장 작은 공간에 배치하는 방식이다.
최악 적합
- 운영체제가 빈공간을 모두 검색한 후에, 적재할 수 있는 공간 중 가장 큰 공간에 배치하는 방식이다.
외부 단편화
- 연속 메모리 할당은 외부 단편화라는 문제를 내포한다.
- 프로세를 할당하기 어려울 만큼 작은 메모리 공간들로 인해 메모리가 낭비되는 현상을 의미한다.
압축
- 외부 단편화를 해결할 수 잇는 대표적인 방안이다.
- 다만 작은 빈 공간들을 하나로 모으는 동안 시스템이 중지되어야 하고, 메모리에 있는 내용을 옮기는 작업은 많은 오버헤드를 햐기한다.