O swapping é uma técnica criada na tentativa de melhorar o problema da insuficiência de memória durante a execução de alguns processos em ambientes multiprogramados. Essa técnica consiste em transferir automaticamente todo o processo da memoria principal para o disco (swap out) e vice-versa. Um dos problemas gerados pelo swapping é a relocação dos programas como no caso de um programa que saia muitas vezes e volte para a memoria, onde é necessária a realocação da mesma seja realizada automaticamente pelo loader a cada operação de carregamento. A melhor solução para esta relocação é a realizada através do registrador base ou registrador de relocação. Toda vez que um programa é carregado na memória, o seu registrador base é carregado com o endereço inicial da região de memória onde o programa será carregado.
Um dos problemas gerados pelo swapping é a relocação dos processos. O loader relocável permite que um processo seja colocado em qualquer posição de memória, porém a relocação é realizada no momento do carregamento.
Como vantagens, devemos citar o maior compartilhamento da memória, o maior throuput e a forma eficiente que oferece. E para as desvantagens não podemos esquecer os custos elevados das operações de entrada e saída.