Pourquoi le terminal peut-il se désinstaller lui-même?

25

Comment apt-get remove xterm passe-t-il? Et après sa désinstallation, xterm ne se ferme pas et continue à fonctionner normalement.

Le processus xterm est-il mis en cache dans la RAM pendant son exécution?

    
posée Huey 15.06.2015 - 15:49
la source

3 réponses

54

Pas tout à fait. Le fichier est déjà ouvert par le programme. La suppression du fichier (puis son remplacement par une autre version) n'affecte pas le programme en cours d'exécution car le fichier d'origine est maintenu ouvert (mais sans nom sur le disque pour l'ouvrir à nouveau) tant que le programme n'est pas terminé. Ce n'est que lorsque tous les descripteurs du fichier sont fermés que ses blocs de données sur le disque sont libérés. Jusque-là, le fichier ouvert peut être lu et écrit exactement comme d'habitude. Le seul changement est que personne d'autre ne peut l'ouvrir car son nom a été supprimé.

Bien que certaines parties du programme aient déjà été lues dans ram lorsqu’elles sont supprimées, elles peuvent toujours être supprimées et relues ultérieurement, ou de nouvelles parties du programme qui n’avaient pas encore été exécutées peuvent toujours être chargées à partir du fichier supprimé. Fichier.

    
réponse donnée psusi 15.06.2015 - 16:16
la source
8
  

Le processus xterm est-il mis en cache dans la RAM pendant son exécution?

Exactement. Il est similaire au processus qui vous permet d'installer des mises à jour sur des éléments pendant qu'ils s'exécutent sans qu'ils se brisent. Et aussi pourquoi vous devez redémarrer les services après les avoir mis à jour. Une fois que quelque chose est en cours d'exécution, son binaire est en mémoire.

Si cela dépend d'autres fichiers (qui ne sont pas dans un état "ouvert") qui sont supprimés ou remplacés, cela peut causer des problèmes, mais pour quelque chose d'aussi discret que xterm , ce n'est pas un problème.

    
réponse donnée Oli 15.06.2015 - 15:53
la source
2

C'est en fait une caractéristique du fonctionnement des ordinateurs: lorsqu'un programme est appelé, il est en effet chargé dans la mémoire et fonctionne à partir de là.

Un fichier fonctionne de la même manière. Pour éviter les problèmes, de nombreux fichiers dans les systèmes UNIX-ish créent des verrous.

L'énigme actuelle est la raison pour laquelle vous ne pouvez pas faire des choses similaires dans Windows.

Cette fonctionnalité est en fait ce qui vous permet de mettre à jour l’ensemble du système, y compris les programmes actifs sur votre système. ;)

    
réponse donnée runlevel0 16.06.2015 - 21:26
la source

Lire d'autres questions sur les étiquettes