Considere que seu programa precisa ser carregado na memória para ser executado. Você tem certa quantidade de espaço de endereço disponível e seu programa precisa de mais. Divida esse espaço de endereço disponível para você em páginas. Essas são chamadas de páginas virtuais. Tente mapear essas páginas virtuais para a memória física e suponha que você não tenha memória física suficiente para carregar todas as páginas. Você carregará as páginas imediatamente necessárias e deixará a que você não precisa agora. Mas, quando chegar a hora, você descarregará as páginas não utilizadas para carregar as páginas necessárias para a execução do programa. Isso é o que o algoritmo de paginação faz e você vê como "páginas paginadas em" e "páginas paginadas".
Swap-in ou swap-out, por outro lado, lida com todo o espaço de memória necessário para executar seu programa. Digamos que seu processo esteja em estado em que aguarda algum recurso estar disponível. Não há necessidade de permanecer carregado na memória até que a condição seja satisfeita. Enquanto isso, há outros processos aguardando a execução da memória. Todo o seu processo é trocado e depois trocado de volta, quando chegar a hora.
Considerando os sistemas modernos com muita memória física, a troca está se tornando a coisa do passado para a maioria dos sistemas.
É claro que nenhum dos algoritmos (paginação e / ou troca) é tão simples assim. Esta é apenas uma visão geral de dez mil pés. Você pode ler muito mais detalhes sobre isso, em outros lugares da Web.