¿Por qué Windows bloquea los archivos durante la instalación mientras que Linux no bloquea los archivos?

¿Por qué Windows bloquea los archivos durante la instalación mientras que Linux no bloquea los archivos?

Noté que cuando se ejecuta un archivo en Windows (.exe o .dll) para la instalación, está bloqueado y no se puede modificar, mientras que Linux permite al usuario modificarlos mediante eliminación/edición.

¿Por qué Windows se bloquea cuando Linux no? ¿Hay alguna ventaja en bloquear?

Respuesta1

Ambos sistemas operativos bloquean los datos del archivo. Cualquier intento de modificar un ejecutable mientras se está ejecutando o una biblioteca mientras está asignada producirá un error de "archivo de texto ocupado" en Linux.

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

La diferencia está sólo enquéestá bloqueado. Windows bloquea la entrada del directorio, Linux bloquea los datos del archivo. Esta diferencia existe por razones históricas: hace mucho tiempo, Windows trataba las entradas de directorio y los datos de archivos como esencialmente equivalentes y, para conservar la compatibilidad, se han conservado muchas de las consecuencias de ese diseño. Linux siempre ha tratado las entradas del directorio como un puntero a los datos del archivo.

información relacionada