Linux
文件句柄和文件名
我讀了這篇文章。
文件描述符是否與文件句柄相同?
在嘗試配置 linux 核心時,它會詢問
open by fhandle syscalls (FHANDLE) [Y/n/?]
.為什麼提供此選項?它會影響核心性能或編譯時間,還是只是為了有一個統一的文件訪問方法?
C 中的FILE結構通常稱為
file handle
並且是圍繞文件描述符的一些抽象:數據類型 FILE 是一種結構,其中包含有關文件或指定數據流的資訊。它包括文件描述符、目前位置、狀態標誌等資訊。它最常用作指向文件類型的指針,因為文件 I/O 函式主要將指針作為參數,而不是結構本身。
我手頭沒有核心建構環境,但應該有一個幫助文本來解釋該選項,並且根據快速搜尋應該說如下:
CONFIG_FHANDLE - 由 fhandle 系統呼叫打開 -
如果您在此處選擇 Y,則使用者級程序將能夠將文件名映射到句柄,然後稍後將句柄用於不同的文件系統操作。這在實現使用者空間文件伺服器時很有用,它現在使用句柄而不是名稱來跟踪文件。即使文件名被重命名,句柄也將保持不變。啟用 open_by_handle_at(2) 和 name_to_handle_at(2) 系統呼叫。
基本上它增加了對新的/額外的系統呼叫的支持。