Por que eu precisaria de uma reinicialização após a instalação? [duplicado]

7

Isto é, o que pode instalar um aplicativo de tal forma que ele pode exigir uma reinicialização?

Corolário (apenas por interesse) : Existe alguma coisa que não necessariamente requer uma reinicialização, mas pelo qual seria mais fácil simplesmente fazer com que o usuário reinicializar do que implementar alguma solução que não seja de reinicialização?

    
por Smashery 03.08.2010 / 03:11

3 respostas

13

No Windows, você precisa reinicializar porque um arquivo DLL (ou EXE) não pode ser substituído enquanto estiver em uso. Alguns drivers e serviços não suportam "descarregamento" e então você deve reinicializar se quiser substituir arquivos DLL ou EXE que são usados por eles. No entanto, a maioria dos drivers e serviços podem ser reiniciados independentemente do resto do computador, portanto, você pode tecnicamente interromper todos os processos usando o arquivo, substituir o arquivo e reiniciá-los novamente. Mas na maioria dos casos, quando essa lista de processos é grande, é mais fácil simplesmente pedir ao usuário para reiniciar.

No Linux, você pode substituir arquivos enquanto eles são usados pelos processos em execução. Isso tem a desvantagem de que qualquer processo existente continuará usando a versão antiga do objeto (até que seja reiniciado), mas qualquer processo novo iniciado após a atualização usará a nova versão. Se houver estruturas de dados compartilhadas ou algo do tipo, as versões em execução simultânea poderão causar instabilidade no sistema. É por isso que no Linux você normalmente ainda reinicia os processos individuais que dependem de um arquivo de objeto quando você o atualiza (também não há muito sentido em continuar executando a versão antiga se você acabou de fazer uma atualização - especialmente se for uma atualização de segurança ).

    
por 03.08.2010 / 03:19
1

Quando você substitui o kernel do sistema operacional, é muito mais fácil reinicializar o sistema operacional do que tentar substituir o kernel durante a execução.

É possível substituir o kernel enquanto o sistema está rodando, mas as conseqüências significariam que estruturas de dados do kernel interno não podem ser reorganizadas ou rotinas devem ser escritas para modificar estruturas de dados. lugar antes de executar o novo código.

Substituir a biblioteca C padrão do sistema pode justificar a reinicialização: você precisa reiniciar todos os processos no sistema para aproveitar a nova biblioteca C de qualquer maneira. Mas, você pode apenas /sbin/telinit u forçar o init a usar a nova biblioteca, reiniciar todos os seus serviços, depois reiniciar o X se você o estiver executando, e pronto, sem uma reinicialização.

Então, é apenas o kernel que requer isso.

    
por 03.08.2010 / 04:41
0

what might installing an application do such that it might require a reboot?

Nada. É uma coisa que os advogados insistem. Não há razão técnica para uma reinicialização. Tudo é apenas fluff.

what might installing an application do such that it might require a reboot?

Qualquer configuração do sistema que foi alterada. Qualquer coisa em /etc , por exemplo. Alguns aplicativos incluem patches e drivers do kernel. Muitas mudanças técnicas na configuração do sistema operacional podem levar à reinicialização.

easier to just get the user to reboot than implementing some non-reboot solution

O que? O que é uma "solução de não reinicialização"?

    
por 03.08.2010 / 03:21