Por que o Windows bloqueia os arquivos durante a instalação enquanto o Linux não bloqueia os arquivos

Por que o Windows bloqueia os arquivos durante a instalação enquanto o Linux não bloqueia os arquivos

Percebi que quando um arquivo é executado no Windows (.exe ou .dll) para instalação, ele fica bloqueado e não pode ser modificado, enquanto o Linux permite ao usuário modificá-lo por exclusão/edição.

Por que o Windows bloqueia e o Linux não? Existe uma vantagem em bloquear?

Responder1

Ambos os sistemas operacionais bloqueiam os dados do arquivo. Qualquer tentativa de modificar um executável enquanto ele está em execução ou uma biblioteca enquanto está mapeada produzirá um erro de “arquivo de texto ocupado” no Linux.

$ gcc foo.c -o f
$ ./f &
[1] 2017
$ ls > f
bash: f: Text file busy

A diferença está apenas emo queestá bloqueado. O Windows bloqueia a entrada do diretório, o Linux bloqueia os dados do arquivo. Essa diferença existe por razões históricas: há muito tempo, o Windows tratava entradas de diretório e dados de arquivos como essencialmente equivalentes e, para manter a compatibilidade, muitas das consequências desse design foram mantidas. O Linux sempre tratou as entradas de diretório como um ponteiro para dados de arquivo.

informação relacionada