O sistema operacional, através do gerenciador de memória, deve tentar manter na memória principal o maior número de processos residentes, permitindo maximizar o compartilhamento do processador e demais recursos computacionais. Mesmo na ausência de espaço livre, o sistema deve permitir que novos processos sejam aceitos e executados. A técnica de swapping foi introduzida para contornar o problema de insuficiência de memória principal, e consiste de:
✂️ a) dividir o programa em módulos, de forma que seja possível a execução independente de cada módulo, utilizando uma mesma área de memória. ✂️ b) dividir a memória principal em pedaços de tamanho fixo, chamados partições, onde o tamanho das partições é estabelecido na fase de inicialização do sistema. ✂️ c) dividir a memória em pedaços de tamanho variável, de modo que cada programa utilize apenas o espaço necessário para sua execução. ✂️ d) escolher um processo residente, a ser transferido da memória principal para a memória secundária (swap out ), sendo que, posteriormente, o processo é carregado de volta da memória secundária para a memória principal (swap in ). ✂️ e) desenvolver as aplicações de modo a não ultrapassar o espaço de endereçamento de memória disponível.