Por que o Windows deseja reiniciar tantas vezes?
Se há uma reclamação que quase todo mundo parece ter sobre o Windows, é que ele quer reinicializar com tanta frequência. Seja para atualizações do Windows ou apenas durante a instalação, desinstalação ou atualização de software, o Windows sempre pedirá para reinicializar.
Geralmente, o Windows precisa ser reinicializado porque não pode modificar os arquivos do sistema enquanto eles estão sendo usados. Esses arquivos estão bloqueados e só podem ser modificados quando não estão sendo usados.
O que a reinicialização faz?
O Windows não pode atualizar ou remover arquivos em uso. Quando o Windows Update baixa novas atualizações, não pode aplicá-las imediatamente aos arquivos de sistema do Windows. Esses arquivos estão em uso e são bloqueados contra quaisquer alterações. Para instalar essas atualizações, o Windows precisa desligar a maior parte do sistema operacional. O Windows pode, então, reiniciar o sistema e carregar os arquivos atualizados ao inicializar.
As reinicializações também podem ser necessárias ao atualizar ou remover certos tipos de software. Por exemplo, se você estiver usando algum tipo de programa antivírus ou um driver de hardware que penetre profundamente no sistema, seus arquivos serão carregados na memória e protegidos contra modificação. Ao atualizar ou remover arquivos em uso, o Windows pode precisar reinicializar o computador e modificar os arquivos antes que o sistema seja totalmente inicializado..
Reinicializações da atualização do Windows
A Microsoft freqüentemente lança patches para o Windows, com a maioria deles chegando no “Patch Tuesday”, na segunda terça-feira de cada mês. A maioria dessas atualizações modifica arquivos do sistema que não podem ser atualizados enquanto o Windows está em execução, portanto, eles exigem uma reinicialização. Nem todo Windows Update requer uma reinicialização, no entanto. Por exemplo, as atualizações para o Microsoft Office não devem exigir uma reinicialização - esses arquivos podem ser descarregados da memória, reiniciando o Office.
O Windows incomoda a reinicialização porque as atualizações de segurança não são realmente instaladas até que você faça isso. A Microsoft introduziu pop-ups que o incomodam a reiniciar o computador e até a reinicializar o computador automaticamente nos primeiros dias do Windows XP, quando worms como Blaster, Sasser e Mydoom estavam em execução. A Microsoft queria garantir que todos fossem reinicializados rapidamente após receber as atualizações para que não fossem infectados. As atualizações não ajudariam se as pessoas esperassem dias ou semanas antes de reinicializar e se infectassem enquanto isso..
Instalando, desinstalando ou atualizando o software
Às vezes, os programas de software desejam reinicializar o computador quando você os instala, desinstala ou atualiza. Isso pode ser porque eles usam arquivos de sistema de baixo nível e drivers que não podem ser atualizados ou removidos na hora. Por exemplo, digamos que você desinstale seu programa antivírus. O desinstalador provavelmente não conseguirá remover todos os arquivos imediatamente, então você precisará reinicializar. O desinstalador agendará as exclusões de arquivos e o Windows excluirá automaticamente os arquivos na próxima vez em que o computador for inicializado..
Alguns programas também podem querer que você reinicie depois de instalá-los. Por exemplo, quando você instala um antivírus, ele pode querer reinicializar imediatamente para que ele possa monitorar o processo de inicialização. Alguns drivers de hardware de baixo nível podem exigir uma reinicialização antes de poderem funcionar. Claro, também é possível que alguns instaladores de programas peçam para você reiniciar quando não for realmente necessário.
Como o arquivo de agendamentos do Windows é movido e excluído na reinicialização
O Windows oferece uma API que os desenvolvedores de aplicativos podem usar para mover, renomear ou excluir um arquivo em uso. O aplicativo solicita que o Windows renomeie ou mova um arquivo quando o computador é reinicializado e a solicitação é gravada no valor HKLM \ System \ CurrentControlSet \ Control \ Gerenciador de sessões \ PendingFileRenameOperations no registro. Quando o Windows é inicializado, ele verifica essa chave de registro e executa qualquer programa de operações de arquivos solicitado.
Você pode visualizar a lista de alterações de arquivos pendentes e agendar seus próprios movimentos e exclusões usando os utilitários PendMoves e MoveFile SysInternals. Isso permite excluir e mover arquivos que você não pode excluir porque estão em uso no momento. Existem outros utilitários que oferecem para mover ou excluir arquivos na reinicialização, e todos eles funcionam escrevendo para essa chave de registro do Windows. Alguns utilitários também permitem desbloquear arquivos bloqueados e excluí-los ou movê-los, mas isso causará problemas se você tentar desbloquear e modificar arquivos dos quais o sistema depende.
E sobre o Linux e outros sistemas operacionais??
Se você já usou Linux ou outro sistema operacional, provavelmente já percebeu que o Windows quer reinicializar com mais freqüência do que ele. O Linux simplesmente não te incomoda para reiniciar como o Windows, mesmo depois de instalar as atualizações do sistema. Isso é verdade, mas não é tão simples.
No Windows, os arquivos em uso normalmente são bloqueados e não podem ser modificados ou excluídos. No Linux, os arquivos em uso normalmente podem ser modificados ou excluídos. Isso significa que, em um sistema Linux, esses arquivos da biblioteca do sistema podem ser atualizados imediatamente sem uma reinicialização. Quaisquer arquivos em uso podem ser excluídos imediatamente.
Aqui está o truque: as alterações não terão necessariamente efeito até que você reinicie. Por exemplo, se você instalar uma atualização para uma biblioteca do sistema, os arquivos no disco serão atualizados imediatamente, mas qualquer processo em execução usando essa biblioteca ainda estará usando a versão antiga e insegura. Se você atualizar um programa, a nova versão desse programa não será usada até você fechar o programa e reiniciá-lo. Se você instalar um novo kernel Linux, você não estará usando o novo kernel até que você reinicie seu computador e inicialize no novo kernel. Existem algumas maneiras de alternar para um novo kernel sem reinicializar, mas elas geralmente não são usadas em sistemas Linux de consumidor e são mais para servidores que exigem o máximo de tempo de atividade.
Em outras palavras, uma reinicialização ainda é necessária para garantir que atualizações importantes tenham efeito no Linux. Claro, se você está executando um servidor e o tempo de atividade é importante para você, você pode contornar a necessidade de atualizações, reiniciando os processos afetados. Mas, se você é um usuário normal de desktop, provavelmente só vai querer reinicializar seu computador.
A boa notícia é que a reinicialização se tornou menos necessária com o tempo. O Windows agora pode trocar muitos tipos de drivers - drivers gráficos, por exemplo - sem reiniciar o sistema. Recursos de segurança modernos (como ter o Firewall do Windows habilitado) tornaram o Windows mais seguro, portanto, o Windows 8 oferece um período de tolerância de três dias para reinicialização após as atualizações do Windows..
Crédito de imagem: Anders Sandberg / Flickr