readahead() - Unix、Linux 系统调用
Tutorials Point


  Unix 初学者指南
  Unix Shell 编程
  高级 Unix
  Unix 有用参考
  Unix 有用资源
  精选阅读

版权所有 © 2014 tutorialspoint



  首页     参考     讨论论坛     关于 TP  

readahead() - Unix、Linux 系统调用


previous next AddThis Social Bookmark Button

广告

名称

readahead - 将文件预读到页面缓存中

语法

#include <fcntl.h> 

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

描述

readahead() 将来自文件的数据填充到页面缓存中,以便后续对该文件的读取不会阻塞磁盘 I/O。fd 参数是标识要读取的文件的文件描述符。offset 参数指定要读取数据的起始点,count 参数指定要读取的字节数。I/O 以整个页面执行,因此offset 有效地向下舍入到页面边界,并且读取的字节数到大于或等于(offset+count)的下一个页面边界。readahead() 不会读取超出文件末尾的内容。readahead() 会阻塞,直到指定的数据被读取。由fd引用的打开文件的当前文件偏移量保持不变。

返回值

成功时,readahead() 返回 0;失败时,返回 -1,并设置errno 以指示错误原因。

错误

标签描述
EBADF fd 不是有效的文件描述符,或者未打开以供读取。
EINVAL fd 不引用可以应用readahead() 的文件类型。

符合标准

readahead() 系统调用是 Linux 特定的,应避免在可移植应用程序中使用。

注释

readahead() 系统调用出现在 Linux 2.4.13 中。

参见



previous next Printer Friendly

广告


  

广告



广告