unix中的v節點和i節點


每打開一個文件,內核使用3種數據結構表示打開文件,它們之間的關系決定了在文件共享方面一個進程對另一個進程可能產生的影響。

  • (1)每個進程都有一個進程表,表的每一項代表了一個打開的文件。表項中包含的內容如下
    • a.文件描述符 fd。
    • b.指向一個文件表項的指針。
  • (2)內核為所有打開文件維持一張文件表。每個文件表項包含:
    • a.文件狀態標志(讀、寫、添寫、同步和非阻塞等)
    • b.當前文件偏移量
    • c.指向該文件V節點表項的指針
  • (3)每個打開文件(或設備)都有一個v節點結構,每個v節點結構包含:
    • a.文件類型
    • b.對文件的各種操作函數指針
    • c.i節點(大多數文件)

Linux中沒有使用V節點而是直接使用了i節點

三張表的對應關系如下
打開文件內核數據結構


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM