리눅스 sync, fsync 함수

이진중·2022년 10월 9일

리눅스

목록 보기
1/2

비동기함수 sync, 동기함수 fsync

유닉스(리눅스)에서는 메모리 정보를 disk에 적을때 바로 disk에 적지 않는다. 먼저 CPU바로 옆에있는 Cache에 적은다음에 그 정보를 disk로 옮긴다.

sync 또는 fsync 시스템콜을 이용해서 write을 할 수 있는데, sync은 비동기함수이기떄문에 write명령을 CPU에 전달하고 리턴된다. 즉 write이 완료되지 않은 상태이다.
반면 fsync은 동기함수로 write가 끝날때 까지 기다렸다가 리턴된다.

함수의 원형
void sync();
int fsync(int fd);

fsync는 인수로 받은 fd에 관련된 모든 변경 자료를 동기화 한후 리턴된다.

0개의 댓글