Swapping é um esquema de gerenciamento de memória no qual qualquer processo pode ser temporariamente trocado da memória principal para a memória secundária, para que a memória principal possa ser disponibilizada para outros processos. É usado para melhorar a utilização da memória principal. Na memória secundária, o local onde o processo trocado é armazenado é chamado de espaço de troca.
O objetivo da troca de sistema operacional é acessar os dados presentes no disco rígido e trazê-los para a RAM para que os programas aplicativos possam utilizá-los. É importante lembrar que a troca é usada apenas quando os dados não estão presentes na RAM.
Embora o processo de troca afete o desempenho do sistema, ele ajuda a executar processos maiores e mais de um. Esta é a razão pela qual a troca também é chamada de compactação de memória.
O conceito de swap foi dividido em mais dois conceitos: Swap-in e Swap-out.
- Swap-out é um método de remover um processo da RAM e adicioná-lo ao disco rígido.
- Swap-in é um método de remover um programa de um disco rígido e colocá-lo de volta na memória principal ou RAM.
Exemplo: Suponha que o tamanho do processo do usuário seja 2.048 KB e seja um disco rígido padrão onde a troca tem uma taxa de transferência de dados de 1 Mbps. Agora calcularemos quanto tempo levará para transferir da memória principal para a memória secundária.
User process size is 2048Kb Data transfer rate is 1Mbps = 1024 kbps Time = process size / transfer rate = 2048 / 1024 = 2 seconds = 2000 milliseconds Now taking swap-in and swap-out time, the process will take 4000 milliseconds.
Vantagens da troca
- Ajuda a CPU a gerenciar vários processos em uma única memória principal.
- Ajuda a criar e usar memória virtual.
- A troca permite que a CPU execute várias tarefas simultaneamente. Portanto, os processos não precisam esperar muito antes de serem executados.
- Melhora a utilização da memória principal.
Desvantagens da troca
- Se o sistema do computador ficar sem energia, o usuário poderá perder todas as informações relacionadas ao programa em caso de atividade de troca substancial.
- Se o algoritmo de troca não for bom, o método composto pode aumentar o número de falhas de página e diminuir o desempenho geral do processamento.
Observação:
- Em um sistema operacional de tarefa única, apenas um processo ocupa a área de memória do programa do usuário e permanece na memória até que o processo seja concluído.
- Em um sistema operacional multitarefa, surge uma situação em que todos os processos ativos não conseguem se coordenar na memória principal, então um processo é trocado da memória principal para que outros processos possam entrar nele.