READAHEAD
Section: Linux Programmer's Manual (2)
Updated: 2007-07-26
Index
JM Home Page
roff page
名前
readahead - 前もってファイルをページ・キャッシュに読み込む
書式
#define _GNU_SOURCE
#include <fcntl.h>
ssize_t readahead(int fd, off64_t *offset, size_t count);
説明
readahead()
は、この後の同じファイルからのデータ読み込み時にディスク I/O で
動作が停止 (block) しないように、前もってファイルの内容を
ページ・キャッシュに読み込む。
fd
引き数は読み込みを行うファイルを識別するファイル・ディスクリプタである。
offset
引き数はデータの読み込み開始位置を指定し、
count
は読み込むデータのバイト数を指定する。
ディスク I/O はページ単位で実行されるので、
実際には
offset
はページ境界に切り下げられ、読み込みバイト数は
(offset+count)
より小さくない次のページ境界まで切り上げられる。
readahead()
はファイルの末尾を越えた範囲まで読み出しを行うことはない。また、
readahead()
は指定したデータの読み込みが終わるまで停止 (block) する。
fd
で参照されたオープン済のファイルのファイルオフセットの現在値は
変更されない。
返り値
readahead()
は成功すると 0 を返す。失敗した場合 -1 を返し、
errno
にエラーの原因を示す値を設定する。
エラー
- EBADF
-
fd
が有効なファイル・ディスクリプタでない、または
読み込み用にオープンされていない。
- EINVAL
-
fd
が参照しているファイルが、
readahead()
を行うことができないタイプのファイルであった。
バージョン
readahead()
システムコールは Linux 2.4.13 で登場した。
glibc でのサポートは glibc バージョン 2.3 以降で行われている。
準拠
readahead()
システムコールは Linux 固有であり、移植を考慮したプログラムでは
使用を避けるべきである。
関連項目
lseek(2),
madvise(2),
mmap(2),
posix_fadvise(2),
read(2)
Index
- 名前
-
- 書式
-
- 説明
-
- 返り値
-
- エラー
-
- バージョン
-
- 準拠
-
- 関連項目
-
This document was created by
man2html,
using the manual pages.
Time: 04:31:58 GMT, November 19, 2007