Unix-system-calls-posix-fadvise
[top]#
[[File:]]
[[File:]] |
|Web |This Site
- 初心者向けのUnix *
- Unix-ホーム
- Unix-はじめに
- Unix-ファイル管理
- Unix-ディレクトリ
- Unix-ファイル権限
- Unix-環境
- Unix-基本ユーティリティ
- Unix-パイプとフィルタ
- Unix-プロセス
- Unix-コミュニケーション
- Unix-The Vi Editor
- Unix Shellプログラミング*
- Unix-シェルとは?
- Unix-変数の使用
- Unix-特殊変数
- Unix-配列の使用
- Unix-基本的な演算子
- Unix-意思決定
- Unix-シェルループ
- Unix-ループ制御
- Unix-シェル置換
- Unix-引用メカニズム
- Unix-IOリダイレクト
- UNIX-シェル関数
- Unix-マンページヘルプ
- 高度なUnix *
- Unix-正規表現
- Unix-ファイルシステムの基本
- Unix-ユーザー管理
- Unix-システムパフォーマンス
- Unix-システムログ
- Unix-信号とトラップ
- Unixの便利なリファレンス*
- Unix-便利なコマンド
- Unix-クイックガイド
- Unix-組み込み関数
- Unix-システムコール
- Unix-コマンドリスト
- Unixの役立つリソース*
- Unix役立つリソース
選択した読書
Copyright©2014 by finddevguides
Home | References | Discussion Forums | About TP |
posix_fadvise()-Unix、Linuxシステムコール
[[File:]] image :http://www.finddevguides.com/images/next.gif [next] image:http://www.finddevguides.com/add- this.gif [AddThisソーシャルブックマークボタン]
広告
NAME
posix_fadvise-ファイルデータのアクセスパターンを事前宣言する
概要
#define _XOPEN_SOURCE 600 #include <fcntl.h> int posix_fadvise(int fd, off_t offset, off_t len, int advice); |
説明
プログラムは posix_fadvise ()を使用して、将来特定のパターンでファイルデータにアクセスする意図をアナウンスし、カーネルが適切な最適化を実行できるようにします。
_advice_は、_fd_によって参照されるファイル内の_offset_から始まり、_len_バイト(または_len_が0の場合はファイルの終わりまで)に及ぶ(必ずしも存在しない)領域に適用されます。 アドバイスは拘束力がありません。それは単にアプリケーションに代わって期待を構成するものです。
_advice_の許容値は次のとおりです。
Tag
説明
アプリケーションには、指定されたデータのアクセスパターンに関するアドバイスがないことを示します。 開いているファイルに対してアドバイスが与えられない場合、これはデフォルトの仮定です。
アプリケーションは、指定されたデータにシーケンシャルにアクセスすることを期待します(低いオフセットは高いオフセットの前に読み取られます)。
指定されたデータはランダムな順序でアクセスされます。
指定されたデータは1回だけアクセスされます。
指定されたデータは、近い将来アクセスされます。
指定されたデータは、近い将来アクセスされません。
返り値
成功すると、ゼロが返されます。 エラーの場合、-1が返され、_errno_が適切に設定されます。
エラー
Tag | Description |
---|---|
EBADF | The fd argument was not a valid file descriptor. |
EINVAL | An invalid value was specified for advice. |
ESPIPE | The specified file descriptor refers to a pipe or FIFO. (Linux actually returns EINVAL in this case.) |
ノート
Linuxでは、 POSIX_FADV_NORMAL は先読みウィンドウをバッキングデバイスのデフォルトサイズに設定します。 POSIX_FADV_SEQUENTIAL はこのサイズを2倍にし、 POSIX_FADV_RANDOM はファイルの先読みを完全に無効にします。 これらの変更は、指定された領域だけでなく、ファイル全体に影響します(ただし、同じファイルの他の開いているファイルハンドルは影響を受けません)。
まだ書き出されていないページは影響を受けないので、アプリケーションがページのリリースを保証したい場合は、最初に fsync ()または fdatasync ()を呼び出す必要があります。
準拠
POSIX.1-2001。 POSIX.1-2003 TC5では、_len_パラメーターのタイプが_size_t_から_off_t_に変更されたことに注意してください。
BUGS
2.6.6より前のカーネルでは、_len_が0として指定された場合、これは「ファイルの終わりまでのすべてのバイト」を意味するのではなく、文字通り「ゼロバイト」として解釈されました。
関連項目
[[File:]] image :http://www.finddevguides.com/images/next.gif [next] [[File:]]
広告
Advertisements |