J'ai remarqué que lorsque vous ouvrez un programme, fermez-le, puis ouvrez-le à nouveau, il semble s'ouvrir beaucoup plus rapidement la deuxième fois.
Est-ce parce que la deuxième fois c'est déjà dans la RAM?
En d'autres termes, je suppose qu'une fois qu'un programme est fermé, son espace mémoire est marqué comme inutilisé. Si ce programme est rouvert avant que son ancien espace mémoire ne soit utilisé, doit-il recharger le programme dans son intégralité à partir du disque?
memory
operating-systems
doyen
la source
la source
Réponses:
En général, lorsqu'une application ferme / termine, le stockage occupé est instantanément libéré. Si vous redémarrez l'application, il sera de nouveau chargé à partir du disque, dans le "nouveau" stockage.
La plus grande exception à cette règle concerne certains "téléphones intelligents", où parfois, lorsque vous "terminez" une application, elle n'est pas réellement terminée immédiatement, elle est simplement "en arrière-plan" pendant un certain temps, en supposant que vous puissiez la redémarrer dans un proche avenir. futur. Mais si vous n'utilisez pas l'application pendant un certain temps, le système d'exploitation et le stockage récupéré le finissent. (Pour autant que je sache, ce schéma n'est pas utilisé sur des ordinateurs Microsoft ou Apple classiques, mais uniquement sur des téléphones.)
Une autre exception, un peu plus technique, réside dans le fait que même si le programme est terminé et que son stockage est libéré, l’image disque du programme (ou du moins une partie de celle-ci) peut exister dans le "cache" du disque et être plus facilement accessible. une seconde fois que la première fois. Cela peut être la cause de ce que vous percevez comme un démarrage plus rapide la deuxième fois.
Il y a une autre raison plus simple pour ce démarrage plus rapide, cependant. Lorsque vous fermez une application et que vous la redémarrez immédiatement, il existe un "trou" dans la mémoire qui convient parfaitement à votre programme. Si vous le démarrez plus tard, après avoir exécuté d’autres tâches, le système d’exploitation doit s’efforcer de trouver le stockage disponible, ce qui signifie souvent qu’il doit "extraire" d’autres données dans la RAM, ce qui prend du temps.
la source
Il n'est pas plus utilisé ou utilisé lorsque le programme est ouvert que lorsque le programme est fermé. La mémoire est utilisée si elle contient des informations utiles. Il contient des informations utiles tant pendant l'exécution du programme que lorsque le programme n'est plus en cours d'exécution.
En fait, la plupart des systèmes d'exploitation ne considèrent même pas si le programme est en cours d'exécution. Pourquoi garder quelque chose en mémoire si on n'y accède pas simplement parce qu'un programme est en cours d'exécution? Et pourquoi supprimer quelque chose de la mémoire simplement parce qu'aucun programme exécuté à cet instant ne l'utilise?
Les systèmes d'exploitation passent par l'accès aux données. Bien entendu, la mémoire contenant des données inaccessibles est considérée comme libre.
la source