【Linux系统编程学习】 文件描述符
生活随笔
收集整理的這篇文章主要介紹了
【Linux系统编程学习】 文件描述符
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
此為??途WLinux C++課程1.19課程筆記。
1. 文件描述符表
如圖,我們知道每個進程都有其虛擬地址空間(0~4G),其中3 ~ 4G部分為內核區。進程的進程控制塊保存就在內核區,而PCB中維護一個打開文件描述符表,每個進程都有這樣一張表,表在實現上是一個指針數組,數組中每個元素都是一個指向file類型的指針,也就指向一個打開的文件。
而文件描述符就是該文件描述符表的的索引值,也就是序號,每當打開一個新文件,則占用一個文件描述符,而且是空閑的最小的一個文件描述符。
文件描述符表的前三項是固定的,分別是標準輸入、標準輸出和標準錯誤,對應的文件是當前終端。
2. 如何通過文件描述符找到文件
首先用文件描述符找到文件描述符表的文件指針,用這個文件指針去系統維護的打開文件表中找i-node,通過i-node最后找到硬盤中文件的最終位置,具體可參考:
https://blog.csdn.net/qq_28114615/article/details/94590598
http://www.itqiankun.com/article/file-fd
總結
以上是生活随笔為你收集整理的【Linux系统编程学习】 文件描述符的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 明日之后战术装备怎么获得
- 下一篇: 【Linux系统编程学习】Linux系统