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

廣告


  

廣告



廣告