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

Linux文件

日期:2017/1/20 17:38:37      編輯:Linux系統常見問題解答
要去訪問磁盤的文件,必須通過系統調用來返回一個與該文件相關聯的ID,
這個ID就是文件描述符file descriptor

linux操作系統提供了一個open系統調用,任何進程要去訪問一個文件,首先使用這個open打開這個
文件,系統將返回一個編號,及與這個文件相關聯的文件描述符
(1)用戶程序從用戶從用戶空間向內核提交了打開申請
(2)操作系統會在內核中去檢查請求是否合法,如果合法在內核中申請打開文件相關聯信息(讀寫位置,在磁盤中的位置,全用struct file來存儲)並且添加到當前進程的PCB打開文件列表數組中,對應的這個數組小標及文件描述符
(3)將文件描述符返回非用空間,用戶空間接下來對這個文件進行讀寫就是通過這個編號值

---------------------------------------------------------------------------------------------------------------------------------------------------------

系統默認為每個進程打開了三個文件:

printf/scanf:
文件描述符值0(標准輸入,鍵盤)
1(標准輸出,顯示器)
2(標准錯誤輸出,顯示器)
相應的宏
STDIN_FILENO
STDOUT_FILENO
STDERR_FILENO
Copyright © Windows教程網 All Rights Reserved