Como muitas pessoas, executo sistemas duplos em meu computador. Atualizações importantes exigem reinicializações constantes no Windows, embora eu não ache que isso tenha acontecido comigo no Linux. Quais propriedades de cada sistema operacional decidem se isso é possível ou não?
Responder1
É uma consequência de decisões de engenharia.
Em um sistema Linux, é possível excluir um arquivo que ainda está em uso; o sistema de arquivos usa o que é essencialmente uma forma de contagem de referências, e ter o arquivo aberto é simplesmente outra referência a ele. Ao fechá-lo, o arquivo será limpo. Como consequência disso, é possível substituir o código principal do sistema operacional e os arquivos de dados sem a necessidade de desligá-los e reiniciá-los (também conhecido como reinicialização).
No Windows, abrindo um arquivobloqueiano sistema de arquivos e não pode ser excluído. Isso significa que o código em execução no momento não pode ser atualizado sem uma reinicialização. Mas isso também significa que você sempre pode saber exatamente qual versão está sendo executada no seu sistema; no modelo Linux, é possível receber uma atualização importante do software do sistema, aplicá-la com sucesso e ainda assim não tê-la operacional em seu sistema, porque a versão antiga e não atualizada ainda está em execução.
É uma troca de engenharia, como a maioria das coisas na computação.
Responder2
É uma consequência da visão das expectativas previstas do usuário.
Os sistemas Linux são modelados após a execução do Unix em servidores. O tempo de atividade era um motivo de orgulho nessas comunidades. Qualquer coisa que reduzisse o tempo era ruim. E isso é um efeito colateral da expectativa de que o computador tivesse vários usuários e que o agendamento do tempo de inatividade tivesse que ser coordenado com vários usuários.
O Windows foi projetado para o mercado de PCs. Na época em que foi introduzido, saber que você poderia sair de um programa e iniciar outro sem reinicializar era sinal de um usuário de computador experiente. Por causa disso, não havia razão para não usar nomes de arquivos como identificador primário ao projetar NTFS.