fsync 함수 예제

프로그램에서 시스템 호출 및 신호를 시청하려면 추적을 호출한 다음 프로그램 및 명령줄 인수를 호출하면 됩니다. 예를 들어 hostname 1 명령으로 호출되는 시스템 호출을 보려면 이 명령을 사용합니다. 읽기에 대한 자세한 내용은 낮은 수준에서 파일 읽기를 참조하십시오. 라이브러리 함수는 구현의 일부로 하나 이상의 다른 라이브러리 함수 또는 시스템 호출을 호출할 수 있습니다. fsync() 함수는 버퍼 캐시에서 데이터를 물리적으로 작성하도록 하고 시스템 충돌 또는 기타 오류가 발생한 후 fsync() 호출 시점까지의 모든 데이터가 디스크에 기록되도록 하기 위한 것입니다. « 버퍼 캐시 », « 시스템 크래시 », « 물리적 쓰기 » 및 « 비휘발성 저장소 »의 개념이 여기에 정의되어 있지 않으므로 표현이 더 추상적이어야 합니다. 라이브러리 함수는 프로그램 외부의 라이브러리에 있는 일반 함수입니다. 지금까지 제시한 대부분의 라이브러리 함수는 표준 C 라이브러리인 libc에 있습니다. 예를 들어 getopt_long 및 mkstemp는 C 라이브러리에 제공되는 함수입니다. 시스템 호출은 Linux 커널에서 구현됩니다. 프로그램이 시스템 호출을 하면 인수가 패키징되어 커널로 전달되며, 이 인수는 호출이 완료될 때까지 프로그램 실행을 대신합니다.

시스템 호출은 일반적인 함수 호출이 아니며 커널로 제어를 전송하려면 특별한 절차가 필요합니다. 그러나 GNU C 라이브러리(GNU/Linux 시스템과 함께 제공되는 표준 C 라이브러리의 구현)는 Linux 시스템 호출을 함수로 래핑하여 쉽게 호출할 수 있습니다. 열기 및 읽기와 같은 낮은 수준의 I/O 함수는 Linux의 시스템 호출의 예입니다. 이렇게 하면 출력 화면이 몇 개 생성됩니다. 각 회는 단일 시스템 호출에 해당합니다. 각 호출에 대해 시스템 호출의 이름이 나열되고 그 다음에 인수(또는 매우 긴 경우 축약된 인수)와 반환 값이 표시됩니다. 가능한 경우 strace는 인수및 반환 값에 대한 숫자 값 대신 기호 이름을 편리하게 표시하고 포인터를 통해 전달된 구조체 필드를 시스템 호출에 표시합니다. strace일반 함수 호출을 표시 하지 않습니다. fdatasync()는 fsync()와 유사하지만 후속 데이터 검색을 올바르게 처리할 수 있도록 메타데이터가 필요한 경우가 아니면 수정된 메타데이터를 플러시하지 않습니다.

Previous post

div 코딩 예제

Next post

httpheaders 예제

sovab-presse

sovab-presse