readahead(2) - wariua/manpages-ko GitHub Wiki

NAME

readahead - νŒŒμΌμ„ νŽ˜μ΄μ§€ μΊμ‹œλ‘œ 미리 읽어 듀이기

SYNOPSIS

#define _GNU_SOURCE             /* feature_test_macros(7) μ°Έκ³  */
#include <fcntl.h>

ssize_t readahead(int fd, off64_t offset, size_t count);

DESCRIPTION

readahead()λŠ” νŒŒμΌμ—μ„œ 미리 읽기λ₯Ό κ°œμ‹œν•΄μ„œ μ΄ν›„μ˜ 파일 읽기가 μΊμ‹œμ—μ„œ μ²˜λ¦¬λ˜μ–΄ λ””μŠ€ν¬ I/Oμ—μ„œ 블둝 λ˜μ§€ μ•Šκ²Œ ν•œλ‹€. (미리 읽기가 μΆ©λΆ„νžˆ 일찍 κ°œμ‹œλ˜μ—ˆμœΌλ©° 쀑간에 μ‹œμŠ€ν…œμ˜ λ‹€λ₯Έ ν™œλ™μ΄ μΊμ‹œμ—μ„œ κ·Έ νŽ˜μ΄μ§€λ“€μ„ λ‚΄λ € 보내지 μ•Šμ•˜λ‹€κ³  κ°€μ •ν•œλ‹€.)

fd μΈμžλŠ” 읽을 νŒŒμΌμ„ λ‚˜νƒ€λ‚΄λŠ” 파일 λ””μŠ€ν¬λ¦½ν„°μ΄λ‹€. offset μΈμžλŠ” 데이터λ₯Ό 읽기 μ‹œμž‘ν•  지점을 λ‚˜νƒ€λ‚΄λ©° countλŠ” 읽을 λ°”μ΄νŠΈ 수λ₯Ό λ‚˜νƒ€λ‚Έλ‹€. I/Oκ°€ νŽ˜μ΄μ§€ λ‹¨μœ„λ‘œ μˆ˜ν–‰λ˜λ―€λ‘œ μ‹€μ§ˆμ μœΌλ‘œλŠ” offset을 νŽ˜μ΄μ§€ κ²½κ³„λ‘œ λ‚΄λ¦Ό ν•˜κ³  (offset+count) 이상 λ˜λŠ” μœ„μΉ˜μ— μžˆλŠ” λ‹€μŒ νŽ˜μ΄μ§€ κ²½κ³„κΉŒμ§€μ˜ λ°”μ΄νŠΈλ“€μ„ μ½λŠ”λ‹€. readahead()λŠ” 파일 끝 λ„ˆλ¨ΈκΉŒμ§€ 읽지 μ•ŠλŠ”λ‹€. 파일 λ””μŠ€ν¬λ¦½ν„° fdκ°€ κ°€λ¦¬ν‚€λŠ” μ—΄λ¦° 파일 기술 ν•­λͺ©μ˜ 파일 μ˜€ν”„μ…‹μ΄ λ°”λ€Œμ§€ μ•ŠλŠ”λ‹€.

RETURN VALUE

성곡 μ‹œ readahead()λŠ” 0을 λ°˜ν™˜ν•œλ‹€. μ‹€νŒ¨ μ‹œ -1을 λ°˜ν™˜ν•˜λ©° 였λ₯˜ 원인을 λ‚˜νƒ€λ‚΄λ„λ‘ errnoλ₯Ό μ„€μ •ν•œλ‹€.

ERRORS

EBADF
fdκ°€ μœ νš¨ν•œ 파일 λ””μŠ€ν¬λ¦½ν„°κ°€ μ•„λ‹ˆκ±°λ‚˜ 읽기 κ°€λŠ₯ν•˜κ²Œ 열리지 μ•Šμ•˜λ‹€.
EINVAL
fdκ°€ readahead()λ₯Ό μ μš©ν•  수 μžˆλŠ” 파일 μ’…λ₯˜λ₯Ό 가리킀지 μ•Šκ³  μžˆλ‹€.

VERSIONS

λ¦¬λˆ…μŠ€ 2.4.13μ—μ„œ readahead() μ‹œμŠ€ν…œ 호좜이 λ“±μž₯ν–ˆλ‹€. glibc 버전 2.3λΆ€ν„° 지원을 μ œκ³΅ν•œλ‹€.

CONFORMING TO

readahead() μ‹œμŠ€ν…œ ν˜ΈμΆœμ€ λ¦¬λˆ…μŠ€ μ „μš©μ΄λ―€λ‘œ 이식성이 μžˆμ–΄μ•Ό ν•˜λŠ” μ‘μš©μ—μ„œλŠ” μ‚¬μš©ν•˜μ§€ 말아야 ν•œλ‹€.

NOTES

syscall(2)μ—μ„œ μ„€λͺ…ν•˜λŠ” μ΄μœ λ“€ λ•Œλ¬Έμ— 일뢀 32λΉ„νŠΈ μ•„ν‚€ν…μ²˜μ—μ„œλŠ” 이 μ‹œμŠ€ν…œ 호좜의 호좜 μ‹œκ·Έλ„ˆμ²˜κ°€ λ‹€λ₯΄λ‹€.

BUGS

readahead()λŠ” λ°°κ²½ 읽기 μŠ€μΌ€μ€„λ§μ„ μ‹œλ„ν•˜κ³ μ„œ μ¦‰μ‹œ λ°˜ν™˜ν•œλ‹€. ν•˜μ§€λ§Œ μš”μ²­ λΈ”λ‘λ“€μ˜ μœ„μΉ˜λ₯Ό μ•ŒκΈ° μœ„ν•΄ ν•„μš”ν•œ 파일 μ‹œμŠ€ν…œ 메타데이터λ₯Ό μ½λŠ” λ™μ•ˆ 블둝 될 μˆ˜λ„ μžˆλ‹€. ext[234] μ‚¬μš© μ‹œ μ΅μŠ€ν…νŠΈ λŒ€μ‹  κ°„μ ‘ 블둝을 μ“°λŠ” 큰 νŒŒμΌμ—μ„œ 이런 κ²½μš°κ°€ 자주 μΌμ–΄λ‚˜λ©°, κ·Έλž˜μ„œ μš”μ²­ 데이터λ₯Ό 읽어 듀일 λ•ŒκΉŒμ§€ 호좜이 블둝 λ˜λŠ” κ²ƒμ²˜λŸΌ 보인닀.

SEE ALSO

lseek(2), madvise(2), mmap(2), posix_fadvise(2), read(2)


2019-03-06

⚠️ **GitHub.com Fallback** ⚠️