Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學

Linux 檔案描述符機制詳解

編輯:Linux 系統常見問題解答

Linux 遵循「一切皆檔案」哲學,進程存取檔案、裝置、Socket、管道皆透過檔案描述符(File Descriptor, FD)完成。

核心流程

  1. 用戶程式發起 open() 系統呼叫,從用戶空間進入核心。
  2. 核心驗證權限,分配 struct file 結構(含讀寫位移、磁碟位置等),放入進程 PCB 的檔案描述符表,索引值即為 FD。
  3. FD 返回用戶空間,後續 read()/write()/close() 皆以此 FD 為參數操作。

三大預設檔案描述符

FD名稱裝置巨集
0標準輸入 (stdin)鍵盤STDIN_FILENO
1標準輸出 (stdout)螢幕STDOUT_FILENO
2標準錯誤 (stderr)螢幕STDERR_FILENO

printf/scanf 等標準庫函數最終皆透過這三個 FD 與終端互動。理解 FD 機制是掌握 Linux I/O 重導向、多工、網路程式設計的基石。

Copyright © Windows教程網 All Rights Reserved