나는 이것과 관련된 몇 가지 질문 (here)을 읽었지만 여전히 혼란 스럽다.쓰기 시스템 호출이 데이터를 디스크에 직접 씁니다?
제 생각에 write 시스템 호출은 데이터를 Buffered Cache
(이 질문에서 언급 한대로 OS 캐시)에 저장합니다. Buffered Cache
이 가득 차면 디스크에 기록됩니다.
버퍼 된 IO는이 위에 더 최적화됩니다. C RTL buffers
에 캐시되고 가득 차면 write
시스템 호출을 실행하여 내용을 Buffered Cache
으로 옮깁니다. fflush
을 사용하면 C RTL buffers
과 Buffered Cache
에있는이 특정 파일과 관련된 데이터가 디스크로 전송됩니다.
내 이해가 정확합니까?
파일 열기 모드, 시스템 별 파일 처리 설정에 따라 ... – Mat