초기의 시분할 시스템에서 많이 사용됨. 한 번에 하나의 작업이 주기억장치를 사용할 수 있는 상황에서 다중 프로그래밍을 수행하다보면 자연스럽게 발생되는 현상.
어떤 프로그램 전체를 주기억장치에 적재하여 사용하다가 필요에 따라 다른 프로그램과 교체하는 기법.
한 작업이 짧은 시간동안 전 기억장치를 사용하며, 작업이 제거되고 난 다음 그 다음 작업이 들어온다
하나의 사용자 프로그램이 완료 될 때 까지 교체과정을 여러 번 수행할 수 있는 데, 이후에 교체 시스템은 페이징 시스템으로 발전되어 가상기억장치 관리에 사용되고 있다
보조기억장치에 있는 프로그램1 프로세서의 요청에 의해 실행될 수 있도록 주기억장치로 이동되는 것을 Swap-in 이라 하며 반대로 주기억장치에 있던 프로그램2를 보조기억장치로 이동시키는 것을 swap-out이라 한다
주기억장치 교체
한정된 크기의 주기억공간에 프로그램 1과 프로그램 2를 번갈아 배치시켜 마치 2개의 프로그램이 주기억공간에 모두 로드된 상태에서 작업을 하는 것과 같은 상황을 만들 수 있다