Eu notei que quando você abre um programa, fechá-lo e depois abri-lo novamente, ele parece abrir muito mais rápido na segunda vez.
Isso é porque a segunda vez já está na RAM?
Posto de outra forma, eu assumo que uma vez que um programa fecha, seu espaço de memória é marcado como não utilizado. Se esse programa for aberto novamente antes que o espaço de memória antigo seja usado, ele terá que recarregar o programa inteiro do disco?
memory
operating-systems
Dean
fonte
fonte
Respostas:
Em geral, quando um aplicativo fecha / termina, o armazenamento ocupado é liberado instantaneamente e, se você reiniciar o aplicativo, ele será carregado do disco novamente, para o "novo" armazenamento.
A maior exceção a isso seria em alguns "telefones inteligentes", onde, às vezes, quando você "finaliza" um aplicativo, ele não é encerrado imediatamente, mas é simplesmente "contextualizado" por um período de tempo no qual você pode reiniciá-lo no próximo. futuro. Mas se você não usar o aplicativo por um período de tempo, ele será eventualmente finalizado pelo sistema operacional e pelo armazenamento recuperado. (Até onde sei, este esquema não é usado em computadores comuns da Microsoft ou da Apple, apenas telefones.)
Outra exceção, um pouco mais técnica, é que mesmo que o programa seja finalizado e seu armazenamento liberado, a imagem de disco do programa (ou pelo menos partes dele) ainda pode existir no disco "cache", e pode ser acessada mais facilmente uma segunda vez do que a primeira vez. Isso pode ser a causa do que você percebe como uma inicialização mais rápida na segunda vez.
Há outra razão mais simples para essa inicialização mais rápida. Quando você finaliza um aplicativo e, em seguida, o reinicia imediatamente, há esse "furo" conveniente no armazenamento que se ajusta exatamente ao seu programa. Se você começar mais tarde, depois de executar outras coisas, o sistema operacional tem que descobrir o armazenamento disponível, e isso geralmente significa que ele deve "sair" de outros dados na memória RAM, um processo demorado.
fonte
Não é mais usado ou não usado quando o programa está aberto do que quando o programa é fechado. Memória é usava se contiver informações úteis. Ele contém informações úteis enquanto o programa está em execução e quando o programa não está mais em execução.
Na verdade, a maioria dos sistemas operacionais nem sequer considera se o programa está sendo executado. Por que guardar algo na memória se não estiver sendo acessado apenas porque um programa está sendo executado? E por que descartar algo da memória só porque nenhum programa em execução naquele instante está usando?
Sistemas operacionais passam pelo acesso aos dados. Obviamente, a memória que contém dados que nunca podem ser acessados é considerada gratuita.
fonte