檔案描述符了:每個程序在 linux 核心中都有乙個 task_struct 結構體來維護程序相關的資訊,稱為程序描述符(process descriptor),而在作業系統理論中稱為程序控制塊(pcb,process control block)。
task_struct 中有乙個指標指向files_struct結構體,稱為檔案描述符表,其中每個表項包含乙個指向已開啟的檔案的指標。使用者程式不能直接訪問核心中的檔案描述符表,而只能使用檔案描述符表的索引(即0、1、2、3這些數字),這些索引就稱為檔案描述符(file descriptor),用int型變數儲存。
程式啟動時會自動開啟三個檔案:
標準輸入、標準輸出和標準錯誤輸出
。在c標準庫中分別用file *指標 stdin、stdout 和 stderr 表示。這三個檔案的描述符分別是0、1、2,儲存在相應的file結構體中。
#define stdin_fileno 0
#define stdout_fileno 1
#define stderr_fileno 2
mysql 檔案描述符 檔案描述符
toc 首先,linux的世界裡一切皆為檔案,無論是裝置還是乙個socket連線。檔案又可分為 普通檔案 目錄檔案 鏈結檔案和裝置檔案。檔案描述符 file descriptor 是核心為了高效管理已被開啟的檔案所建立的索引,其是乙個非負整數 通常是小整數 用於指代被開啟的檔案,所有執行i o操作的...
檔案描述符
檔案描述符 是個很小的正整數,它是乙個索引值,指向核心為每乙個程序所維護的該程序開啟檔案的記錄表。檔案描述符的優點 相容posix標準,許多 linux 和unix 系統呼叫都依賴於它。檔案描述符的缺點 不能移植到unix以外的系統上去,也不直觀。基於檔案描述符的輸入輸出函式 open 開啟乙個檔案...
檔案描述符
作業系統程序表中存放各個檔案進行檔案描述 核心 kernel 利用檔案描述符 file descriptor 來訪問檔案。檔案描述符是非負整數。開啟現存盤案或新建檔案時,核心會返回乙個檔案描述符。讀寫檔案也需要使用檔案描述符來指定待讀寫的檔案。目錄檔案描述符概述 如何建立檔案描述符 使用的好處 缺點...