Lembrete gentil: para fornecer uma resposta melhor para o resto da comunidade, não diga algo como “Não fale sobre os quatro tipos de memória”. Mesmo que você o conheça bem, pode haver mil e um cidadãos da Internet chegando aqui esperando uma resposta colateral. :)
"Paginação" é o termo exato para a ação a seguir. "Trocar" é usado coloquialmente para "paginação", no entanto, de forma intercambiável atualmente. “Trocar” originalmente se referia à movimentação do espaço de memória de um programa completamente para “armazenamento secundário” (em oposição a “armazenamento principal”, que é um termo arcaico para ... RAM, de certa forma). O limite entre paginação e troca é consideravelmente obscurecido pelos sistemas Windows e Unix que chamam de troca de espaço de paginação.
E então, é preciso conhecer a paginação para entender o conceito de memória ativa, com fio e inativa. Paginação significa que a página da memória é movida para fora da memória de acesso aleatório (ou seja, a RAM) e para o disco rígido ou outro dispositivo de armazenamento secundário. Isso permite que o aplicativo em execução solicite mais memória do que a quantidade total de RAM do sistema disponível.
Observe que, embora paginar para fora signifique uma enorme penalidade de desempenho para acessar esse bit específico de informações novamente, a paginação pode ocorrer em dois casos diferentes: (Fazendo uma citação: Desvantagens de não ter uma partição de swap )
- Quando não há memória suficiente para todos os aplicativos - no caso em que isso acontece com um sistema sem espaço de troca, causará uma falha na alocação de memória para novos aplicativos que solicitam novas páginas de memória - e isso geralmente resulta no encerramento do programa.
- Quando algumas páginas de memória (a memória é dividida em “páginas”) são usadas há algum tempo, mas não são mais usadas agora, elas são transferidas para o arquivo de troca e a memória restante pode ser usada para fazer outra coisa que poderia ser mais útil (por exemplo, até armazenamento em cache!) - quando isso acontece em um sistema sem espaço de troca, isso resulta em páginas ociosas que ficam na memória. Isso não é nada sério, pois temos uma quantidade bastante grande de memória hoje em dia.
Os quatro tipos de memória são classificados da seguinte maneira:
Com fio: Usado por um aplicativo que afirma que o pedaço de memória alocada deve permanecer fisicamente na RAM e não ser trocado no disco, independentemente de ser usado recentemente ou não, ou seja, outro aplicativo NÃO pode solicitar esse pedaço de memória específico. Exemplos fazem parte da memória utilizada pelo sistema e usada pelas máquinas virtuais.
Ativa e inativa: são as memórias usadas geralmente por aplicativos no modo de usuário, nas quais são trocáveis em discos. "Ativo" significa que foi usado recentemente e "Inativo" significa que não foi usado recentemente. O sistema operacional trocaria primeiro as páginas inativas e depois as páginas ativas mais tarde, se necessário.
Memória livre: memória que não é usada. Isso é usado para outros fins, como armazenamento em cache do disco rígido.
Se sua pergunta for: "Em uma situação terrível em que a memória é inadequada, em que ordem o sistema tentaria alocar memória para um novo aplicativo?", A sequência seria alocar
memória livre → memória inativa → memória ativa
De certa forma, até a memória usada recentemente pode ser paginada. A parte "com fio" é o que não seria paginado a todo custo.
Nos sistemas modernos, porém, é pouco provável que a memória ativa seja paginada, pois temos bastante RAM disponível.