O Windows recupera RAM logo após o encerramento de um processo?

1

Quando encerramos um processo (por exemplo, usando o Gerenciador de Tarefas, etc.), o Windows recupera a RAM usada imediatamente?

Ou o Windows ainda mantém a RAM usada para esse processo?

    
por Pacerier 15.07.2011 / 07:28

2 respostas

1

Eu dependo o que você quer dizer com RAM. Se você quer dizer alguma RAM contendo dados modificados pelo processo, então sim. Esses valores nunca poderiam ser usados novamente. Então a RAM deve ser marcada como livre.

Se você quer dizer RAM contendo partes do arquivo executável, não, essa RAM não é recuperada. Já estava marcado como descartável, já que o sistema sempre pode ler os dados do disco, se necessário, de qualquer maneira. Libertar a RAM imediatamente seria uma porcaria por dois motivos:

1) É um esforço totalmente desperdiçado. Se o computador liberar a memória RAM e não for necessário em breve, o esforço de torná-la gratuita não ganhou nada. Se o computador liberar a memória RAM e for necessário em breve, o esforço para liberá-la apenas força o sistema a usá-la novamente, resultando em um esforço duplicado. (O sistema poderia apenas tê-lo descartado e mudado para outro uso sem nunca torná-lo livre.)

2) Priva o sistema da oportunidade de usar esses dados novamente. Se o mesmo programa for executado novamente, os dados já armazenados na RAM salvarão a E / S do disco.

    
por 28.08.2011 / 23:55
3

Sim. As páginas de memória são atribuídas novamente ao pool livre, onde podem ser alocadas a novos processos sob demanda. Um processo de prioridade muito baixa no SO acabará por zerar essas páginas, adicionando-as ao conjunto Zerado. Você pode assistir isso acontecendo com o Process Explorer (embora eles sejam zerados rápido o suficiente, é difícil veja).

Páginas de memória em um desses pools são gratuitas para processos existentes ou novos. Uma vez que não haja páginas livres nos pools Free ou Zeroed, o sistema operacional começará a forçar a saída de memória de outros processos para reutilizar páginas de RAM física, conforme necessário. Existem 2 conjuntos neste grupo: Páginas em espera e modificadas. Uma página em espera é aquela que já foi paginada para o arquivo de paginação e pode ser reatribuída a um processo diferente (ou dentro do mesmo) rapidamente. Uma página modificada tem um sinalizador de sujeira definido e precisa ser salvo no arquivo de paginação antes de poder ser redistribuído.

    
por 15.07.2011 / 08:16