Como muitas pessoas, eu corro sistemas duplos no 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 é ou não possível?
operating-systems
Benjamin Lindqvist
fonte
fonte
Respostas:
É uma consequência das 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ência, e ter o arquivo aberto é simplesmente outra referência a ele. Quando você 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, a abertura de um arquivo o bloqueia no sistema de arquivos e não pode ser excluído. Isso significa que o código atualmente em execução 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; sob o modelo Linux, é possível receber uma atualização importante do software do sistema, aplicá-la com êxito e ainda não a operacional no 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.
fonte
MoveFile
para remover o antigo .É 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 nos servidores. O tempo de atividade foi um ponto de se gabar nessas comunidades. Qualquer coisa que reduzisse o tempo de atividade era ruim. E esse é um efeito colateral da expectativa de que o computador tenha vários usuários e que o tempo de inatividade da programação precise ser coordenado com vários usuários.
O Windows foi projetado para o mercado de PCs. No momento em que foi apresentado, saber que era possível sair de um programa e iniciar outro sem reiniciar era o sinal de um usuário experiente. Por esse motivo, não havia razão para não usar nomes de arquivos como identificador principal ao projetar ntfs.
fonte