Por que o terminal pode se desinstalar sozinho?

25

Como o apt-get remove xterm passa? E depois de ter sido desinstalado, xterm não fecha e continua a funcionar normalmente.

O processo xterm está em cache na RAM enquanto está sendo executado?

    
por Huey 15.06.2015 / 15:49

3 respostas

54

Não é bem assim. O arquivo já está aberto pelo programa. Excluir o arquivo (e depois substituí-lo por outra versão) não afeta o programa em execução porque o arquivo original é mantido aberto (embora sem um nome no disco para abri-lo novamente) até que o programa termine com ele. Somente quando todas as alças para o arquivo estão fechadas, seus blocos de dados no disco são liberados. Até lá, o arquivo aberto pode ser lido e escrito como normalmente - a única mudança é que ninguém mais pode abri-lo desde que seu nome foi removido.

Enquanto partes do programa já podem ter sido lidas no RAM quando são deletadas, elas ainda podem ser descartadas e relidas mais tarde, ou novas partes do programa que não haviam sido executadas anteriormente ainda podem ser carregadas do arquivo excluído. arquivo.

    
por psusi 15.06.2015 / 16:16
8
  

O processo xterm está em cache na RAM enquanto está sendo executado?

Exatamente. É semelhante ao processo que permite que você instale atualizações para as coisas enquanto elas estão em execução sem que elas falhem. E também porque você precisa reiniciar os serviços depois de atualizá-los. Quando algo está em execução, seu binário está na memória.

Se depender de outros arquivos (que não estão em estado "aberto") que são removidos ou substituídos, isso pode causar problemas, mas para algo tão discreto quanto xterm , isso não é um problema. / p>     

por Oli 15.06.2015 / 15:53
2

É, de fato, uma característica de como os computadores funcionam: quando um programa é invocado, ele é realmente carregado na memória e funciona a partir daí.

Um arquivo realmente funciona da mesma maneira. Para evitar problemas, muitos arquivos em sistemas UNIX-ish criam bloqueios.

O enigma atual é por que você não pode fazer coisas semelhantes no Windows.

Esse recurso é, na verdade, o que permite que você atualize todo o sistema, incluindo os programas que estão ativos em seu sistema. ;)

    
por runlevel0 16.06.2015 / 21:26