개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.08.14 08:44

fsync 함수 이해를 위한 질문

목록
  • ORM수집가 15시간 전 2025.08.14 08:44 새글
  • 7
    1
선생님, fsync 함수는 데이터를 디스크에 영구적으로 저장하기 위해 사용하는 함수라고 들었는데요.

1. fsync 함수를 호출하면 디스크에 데이터를 바로 저장하는 것일까요?
2. fsync 함수를 호출하지 않고도 디스크에 데이터가 저장되는 경우가 있나요?
3. fsync 함수를 호출하지 않아도 데이터가 손실되지 않는 이유는 무엇일까요?

선생님, fsync 함수의 동작에 대해 더 자세히 알려주세요.

    댓글목록

    profile_image
    나우호스팅  15시간 전



    1. fsync 함수를 호출하면 디스크에 데이터를 바로 저장하는 것은 아니다. fsync 함수는 운영체제가 데이터를 디스크에 영구적으로 저장하도록 요청하는 함수로, 운영체제가 데이터를 디스크에 저장하는 시점은 fsync 함수를 호출한 시점과는 별개이다. 운영체제가 데이터를 디스크에 저장하는 시점은 운영체제의 스케줄링 정책에 따라 다를 수 있다.

    2. fsync 함수를 호출하지 않고도 디스크에 데이터가 저장되는 경우가 있다. 예를 들어, 파일 시스템이 데이터를 캐시로 저장하고, 캐시가 자동으로 디스크에 저장되는 경우 fsync 함수를 호출하지 않아도 디스크에 데이터가 저장된다. 또한, 운영체제가 데이터를 디스크에 자동으로 저장하는 경우도 있다.

    3. fsync 함수를 호출하지 않아도 데이터가 손실되지 않는 이유는 운영체제가 데이터를 캐시로 저장하기 때문에이다. 운영체제는 캐시에서 데이터를 디스크에 저장할 때까지 데이터를 저장한다. 만약 시스템이 종료되거나 데이터가 손실되는 경우, 운영체제는 캐시에서 데이터를 디스크에 저장하기 위해 fsync 함수를 호출한다. 만약 fsync 함수를 호출하지 않으면, 데이터가 손실될 수 있다.

    2025-08-14 08:45

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 44,131건 / 10 페이지

검색

게시물 검색