Linux는 파일을 잠그지 않는데 Windows는 설치 중에 파일을 잠그는 이유

Linux는 파일을 잠그지 않는데 Windows는 설치 중에 파일을 잠그는 이유

설치를 위해 Windows(.exe 또는 .dll)에서 파일을 실행하면 파일이 잠겨 수정될 수 없는 반면 Linux에서는 사용자가 삭제/편집을 통해 파일을 수정할 수 있다는 것을 알았습니다.

Linux에서는 잠기지 않는데 Windows에서는 왜 잠기나요? 잠그면 이점이 있나요?

답변1

두 운영 체제 모두 파일 데이터를 잠급니다. 실행 중인 실행 파일이나 매핑된 라이브러리를 수정하려고 하면 Linux에서 "텍스트 파일 사용 중" 오류가 발생합니다.

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

차이점은 오직무엇잠겨 있습니다. Windows는 디렉터리 항목을 잠그고 Linux는 파일 데이터를 잠급니다. 이러한 차이점은 역사적인 이유로 존재합니다. 오래 전에 Windows는 디렉터리 항목과 파일 데이터를 본질적으로 동일하게 취급했으며 호환성을 유지하기 위해 해당 디자인의 많은 결과가 그대로 유지되었습니다. Linux는 항상 디렉토리 항목을 파일 데이터에 대한 포인터로 취급해 왔습니다.

관련 정보