¿Las aplicaciones se eliminan de la RAM cuando se cierran?

¿Las aplicaciones se eliminan de la RAM cuando se cierran?

He notado que cuando abres un programa, lo cierras y lo vuelves a abrir, parece abrirse mucho más rápido la segunda vez.

¿Es porque la segunda vez ya está en la RAM?

Dicho de otra manera, supongo que una vez que se cierra un programa, su espacio de memoria se marca como no utilizado. Si ese programa se abre nuevamente antes de que se use su antiguo espacio de memoria, ¿tiene que volver a cargar el programa en su totalidad desde el disco?

Respuesta1

En general, cuando una aplicación cierra o finaliza, el almacenamiento que ocupaba se libera instantáneamente y, si reinicia la aplicación, se cargará desde el disco nuevamente en un almacenamiento "nuevo".

La mayor excepción a esto sería en algunos "teléfonos inteligentes", donde a veces, cuando "finalizas" una aplicación, en realidad no finaliza de inmediato, sino que simplemente queda "en segundo plano" durante un período de tiempo, asumiendo que podrás reiniciarla en un futuro próximo. futuro. Pero si no utiliza la aplicación durante un período de tiempo, el sistema operativo finalmente la finaliza y el almacenamiento se recupera. (Hasta donde yo sé, este esquema no se usa en computadoras normales de Microsoft o Apple, solo en teléfonos).

Otra excepción, un poco más técnica, es que aunque el programa finalice y se libere su almacenamiento, la imagen de disco del programa (o al menos partes de ella) aún puede existir en la "caché" del disco y se puede acceder a ella más fácilmente. una segunda vez que la primera. Esta puede ser la causa de lo que percibe como un inicio más rápido la segunda vez.

Sin embargo, hay otra razón más sencilla para ese inicio más rápido. Cuando finaliza una aplicación y luego la reinicia inmediatamente, existe este conveniente "agujero" en el almacenamiento que se adapta exactamente a su programa. Si lo inicia más tarde, después de ejecutar otras cosas, el sistema operativo tiene que buscar almacenamiento disponible, y esto a menudo significa que debe "buscar" otros datos en la RAM, un proceso que requiere mucho tiempo.

Respuesta2

No se usa ni se usa más cuando el programa está abierto que cuando el programa está cerrado. La memoria esusadosi contiene información útil. Contiene información útil tanto mientras el programa se está ejecutando como cuando ya no se está ejecutando.

De hecho, la mayoría de los sistemas operativos ni siquiera consideran si el programa se está ejecutando. ¿Por qué mantener algo en la memoria si no se accede a él simplemente porque se está ejecutando un programa? ¿Y por qué descartar algo de la memoria sólo porque ningún programa que se esté ejecutando en ese instante lo esté utilizando?

Los sistemas operativos pasan por el acceso a los datos. Por supuesto, la memoria que contiene datos a los que nunca se puede acceder se considera gratuita.

información relacionada