NFS v3에서 고정 비트를 사용하는 방법을 알아내려고 합니다. RFC 181322페이지에는 다음과 같이 나와 있습니다.
0x00200 교환된 텍스트를 저장합니다(POSIX에서는 정의되지 않음).
"문자 교환"은(는) 무슨 뜻인가요? NFS Illustrated에서 저자 Brent Callaghan은 이것이 캐싱이 없음을 의미한다고 말합니다. 그러나 나는 다른 곳에서는 이런 설명을 본 적이 없습니다.
답변1
실행 파일의 텍스트 부분은 실제 실행 코드이며, 이를 참조합니다. Linux에서는 이 요청이 무시되며 관리자에 의한 최적화일 뿐입니다. 커널은 프롬프트 없이 스스로 이 작업을 수행할 수 있습니다.
즉, 실행 가능한 텍스트가 교체되어 프로세스가 종료되면 다음 번에 유지됩니다. Linux에서는 (로컬로) 파일에서 다시 로드하는 속도가 빠르기 때문에 실행 파일이 교체되지 않습니다. NFS는 조금 다를 수도 있습니다.
고정 비트는 다른 파일 형식에 대해 다른 의미를 갖습니다. 실행 파일을 설명했습니다. 디렉터리의 경우 소유자가 아닌 사람이 파일을 삭제하는 것을 방지합니다.
nfs도 마찬가지인 것 같고, 20년 전에 사용했을 때도 마찬가지였던 것 같아요.
에서:http://netbsd.gw.com/cgi-bin/man-cgi?sticky+7+NetBSD-current
나중에 SunOS 4에서 고정 비트는 비트가 설정되어 있고 실행할 수 없는 파일에 대해 추가적인 의미를 갖습니다. 이러한 파일에 대한 읽기 및 쓰기는 디스크로 직접 이동하고 버퍼 캐시를 우회합니다. 이는 일반적으로 NFS 서버의 NFS 클라이언트에 대한 스왑 파일에 사용되므로 서버에서 클라이언트가 생성한 스왑 I/O가 서버의 버퍼 캐시에서 유용한 데이터를 제거하지 않습니다.