C 언어에서 곧 읽을 파일 구간을 미리 캐시에 올리도록 운영체제에 요청할 때 readahead()를 쓴다.
헤더와 선언
#include <fcntl.h>
ssize_t readahead(int fd, off64_t offset, size_t count);반환값과 주의점
성공은 0, 실패는 -1이다. 실제 내용을 사용자 버퍼로 반환하지는 않는다.
파일의 현재 위치는 바뀌지 않는다. 미리 읽기는 성능 힌트이지 이후 read()가 절대로 기다리지 않는다는 보장은 아니다.
답글 달기