names=advise
visibility=public
kind=defined

--- advise(advice, offset=0, len=0) -> nil

[[man:posix_fadvise(2)]] を呼びだし、
ファイルへのアクセスパターンをOSに知らせます。

advice には以下のいずれかのシンボルを指定します。
  * :normal - デフォルト
  * :sequential - データは前から順にアクセスされる
  * :random - データはランダムアクセスされる
  * :willneed - データはこの直後にアクセスされる
  * :dontneed - データは直後にはアクセスしない
  * :noreuse - データは一度しかアクセスされない
これらの advice が具体的に何をするのかはプラットフォーム依存です。

ここでいう「データ」は offset と len で特定することができます。
len が 0 ならば、offset からファイル末尾までを指定したことになります。
デフォルトでは offset と len がともに 0 なので、
ファイル全体を指定したことになります。

posix_fadvise をサポートしていないプラットフォーム上では
何もしません。

@param advice アクセスパターンを表すシンボル
@param offset パターンを指定するデータの先頭位置
@param len パターンを指定するデータの長さ

@raise IOError ストリームが既に閉じられているときに発生する例外
@raise Errno::EBADF ファイルデスクリプタが不正であるときに発生する例外
@raise Errno::EINVAL advice が不正
@raise Errno::ESPIPE ファイルデスクリプタが FIFO か pipe を指している
       場合に発生する例外(Linux はこの場合には Errno::EINVAL を発生する)
@raise RangeError offset,lenが有効範囲から出ている場合に発生する例外


