.\"
.TH READAHEAD 2 2014\-03\-15 Linux "Linux Programmer's Manual"
.SH 名前
-readahead \- å\89\8dã\82\82ã\81£ã\81¦ã\83\95ã\82¡ã\82¤ã\83«ã\82\92ã\83\9aã\83¼ã\82¸ã\83»ã\82ã\83£ã\83\83ã\82·ã\83¥ã\81«èªã\81¿è¾¼ã\82\80
+readahead \- 前もってファイルをページキャッシュに読み込む
.SH 書式
.nf
\fB#define _GNU_SOURCE\fP /* feature_test_macros(7) 参照 */
\fBssize_t readahead(int \fP\fIfd\fP\fB, off64_t \fP\fIoffset\fP\fB, size_t \fP\fIcount\fP\fB);\fP
.fi
.SH 説明
-\fBreadahead\fP() initiates readahead on a file so that subsequent reads from
-that file will be satisfied from the cache, and not block on disk I/O
-(assuming the readahead was initiated early enough and that other activity
-on the system did not in the meantime flush pages from the cache).
+\fBreadahead\fP() はファイルの先読みを行い、そのファイルに対する後の読み込みがキャッシュから行われ、ディスク I/O で停止しないようにする
+(この条件を満たせるのは、先読みは十分早く行われ、システムの他の動作によりその後にキャッシュからページがフラッシュされない場合である)。
-\fIfd\fP å¼\95ã\81\8dæ\95°ã\81¯èªã\81¿è¾¼ã\81¿ã\82\92è¡\8cã\81\86ã\83\95ã\82¡ã\82¤ã\83«ã\82\92è\98å\88¥ã\81\99ã\82\8bã\83\95ã\82¡ã\82¤ã\83«ã\83»ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿である。 \fIoffset\fP 引き数はデータの読み込み開始位置を指定し、
+\fIfd\fP å¼\95ã\81\8dæ\95°ã\81¯èªã\81¿è¾¼ã\81¿ã\82\92è¡\8cã\81\86ã\83\95ã\82¡ã\82¤ã\83«ã\82\92è\98å\88¥ã\81\99ã\82\8bã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼である。 \fIoffset\fP 引き数はデータの読み込み開始位置を指定し、
\fIcount\fP は読み込むデータのバイト数を指定する。 ディスク I/O はページ単位で実行されるので、 実際には \fIoffset\fP
はページ境界に切り下げられ、読み込みバイト数は \fI(offset+count)\fP より小さくない次のページ境界まで切り上げられる。
\fBreadahead\fP() はファイルの末尾を越えた範囲まで読み出しを行うことはない。 \fIfd\fP
.SH エラー
.TP
\fBEBADF\fP
-\fIfd\fP ã\81\8cæ\9c\89å\8a¹ã\81ªã\83\95ã\82¡ã\82¤ã\83«ã\83»ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿でない、または 読み込み用にオープンされていない。
+\fIfd\fP ã\81\8cæ\9c\89å\8a¹ã\81ªã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼でない、または 読み込み用にオープンされていない。
.TP
\fBEINVAL\fP
\fIfd\fP が参照しているファイルが、 \fBreadahead\fP() を行うことができないタイプのファイルであった。
.SH 準拠
\fBreadahead\fP() システムコールは Linux 固有であり、移植を考慮したプログラムでは 使用を避けるべきである。
.SH 注意
-いくつかの 32 ビットアーキテクチャでは、このシステムコールの呼び出しシグネチャーが違っている。 理由は \fBsyscall\fP(2)
+ã\81\84ã\81\8fã\81¤ã\81\8bã\81® 32 ã\83\93ã\83\83ã\83\88ã\82¢ã\83¼ã\82ã\83\86ã\82¯ã\83\81ã\83£ã\83¼ã\81§ã\81¯ã\80\81ã\81\93ã\81®ã\82·ã\82¹ã\83\86ã\83 ã\82³ã\83¼ã\83«ã\81®å\91¼ã\81³å\87ºã\81\97ã\82·ã\82°ã\83\8dã\83\81ã\83£ã\83¼ã\81\8cé\81\95ã\81£ã\81¦ã\81\84ã\82\8bã\80\82 ç\90\86ç\94±ã\81¯ \fBsyscall\fP(2)
で説明されている。
.SH バグ
-\fBreadahead\fP() attempts to schedule the reads in the background and return
-immediately. However, it may block while it reads the filesystem metadata
-needed to locate the requested blocks. This occurs frequently with ext[234]
-on large files using indirect blocks instead of extents, giving the
-appearance that the call blocks until the requested data has been read.
+\fBreadahead\fP() は読み込みをバックグラウンドで行うようにスケジューリングを行い、すぐに返る。
+しかしながら、要求されたブロックの位置を知るために必要なファイルシステムのメタデータを読み込む間は \fBreadahead\fP() は停止することがある。
+これは ext[234] で大きなファイルをエクステントではなく間接ブロックを使う場合にしばしば発生し、
+要求したデータが読み込まれるまで呼び出しが停止しているように見える。
.SH 関連項目
\fBlseek\fP(2), \fBmadvise\fP(2), \fBmmap\fP(2), \fBposix_fadvise\fP(2), \fBread\fP(2)
.SH この文書について
-この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.63 の一部
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.79 の一部
である。プロジェクトの説明とバグ報告に関する情報は
http://www.kernel.org/doc/man\-pages/ に書かれている。