Por que os programas às vezes relatam erros de falta de memória quando o Windows está sendo desligado?

3

Isso não é um problema nem nada, apenas algo pelo qual estou curioso - e testei apenas no Windows 7.

Quando encerro meu computador (ou qualquer outra coisa envia um pedido de desligamento) e até que a estação de trabalho é realmente encerrada, vários programas geralmente relatam erros de falta de memória. Meu navegador (Opera), por exemplo, mostra um erro quando abro uma nova guia durante esse breve período. Programas em execução no .NET também lançam OutOfMemoryException s quando solicitados a fazer algo "pesado" durante esse tempo.

Eu acho isso um pouco interessante. Por que este erro? Na verdade, é outro erro, apenas sendo reportado erroneamente? O sistema operacional pára de responder a outras solicitações de memória quando está sendo desligado? Será que ele pode até mesmo diminuir o intervalo de endereços lógicos alocados para esse processo antes de reivindicá-lo de volta?

    
por T. C. 25.09.2014 / 19:41

1 resposta

0

Quando o sistema está no modo de desligamento, ele pode se recusar a conceder solicitações adicionais de alocação de memória aos programas. Normalmente, os programas registram / reportam isso como falta de memória, mas na verdade o motivo é que o sistema operacional está sendo desligado e está limpando os recursos alocados, NÃO dando mais resultados.

Como você observou, não é um problema "real", apenas um artefato de temporização ... Opera tentando pegar alguma memória adicional ao mesmo tempo em que o sistema está sendo desligado. Presumivelmente, isso acontece porque o Opera não recebeu nem processou a mensagem de desligamento do sistema antes de fazer sua solicitação de recurso.

    
por 25.09.2014 / 20:56