저는 sync
Linux 운영 체제의 명령 작업을 완전히 이해하려고 노력하고 있습니다.
읽고 나서: https://en.wikipedia.org/wiki/Sync_(유닉스) https://lwn.net/Articles/457667/
나는 이 sync
명령이 애플리케이션의 버퍼에서 영구 저장소까지 데이터를 플러시하는 역할을 한다는 것을 이해합니다.
Linux는 영구 저장 장치와 적절한 쓰기 요청을 어떻게 추적합니까? (/dev에는 많은 장치 파일이 있지만 모두 영구 저장 장치를 나타내는 것은 아닙니다.) 쓰기 요청을 기다리는 각 장치를 어디에서 볼 수 있습니까?
sync(특히 sync 명령)는 모든 시스템 장치에서 쓰기 요청을 검색하고 모든 요청을 실행합니까? 유효한 목록을 유지합니까?
가상 파일 시스템은 sync 명령과 어떤 관련이 있습니까? sync 명령은 모든 파일 시스템을 검사합니까? 그렇다면 왜?
이 명령과 "백그라운드" 작업에 대한 문서가 있습니까?
답변1
이 맨페이지몇 가지 사항을 명확히 할 수 있습니다.
내가 읽은 내용은 모든 파일 시스템 구현이 동기화 방법을 제공해야 한다는 것입니다.
그래서동기화이 명령은 단순히 커널을 호출하고 커널은 모든 마운트된 파일 시스템에 대해 모든 동기화 방법을 호출합니다.
아마도 커널 코드를 보면 무슨 일이 일어나고 있는지 더 잘 설명할 수 있을 것입니다.동기화.