日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux文件IO-例会笔记总结

發布時間:2023/12/2 linux 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux文件IO-例会笔记总结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

上周日實驗室例會主要涉及linux文件操作的內核實現。主要討論了linux下對文件進行操作時,系統內部調用了那些函數以及它們是怎么相互配合的。

? ?linux系統是怎樣對不同介質和不同的文件系統提供統一的文件操作接口呢?答案是:VFS。系統中所有文件系統不但依賴VFS(虛擬文件系統),而且也靠它來協同工作,我們來認識一下系統虛擬文件系統中的幾個成員吧。在見識它們廬山真面目前,先看下用戶調用了系統調用write()后的過程,首先被一個通用的系統調用sys_write處理,該函數找到文件描述符所在的文件系統實際給出的寫操作,然后執行操作。實際文件系統的寫方法是文件系統實現的一部分,數據最終通過該操作寫入介質。如下圖:

一超級塊

存儲一個已經安裝的文件系統的控制信息,代表一個已經安裝的文件系統;每次一個實際的文件系統被安裝時,內核會從磁盤的特定位置讀取一些控制信息填充超級塊對象。一個安裝實例和一個超級塊對象一一對應。超級塊中的s_type記錄文件系統類型。

?

二索引節點(inode)

代表一個文件,包含了內核在操作文件或目錄時需要的全部信息,僅當文件被訪問時才在內存建立

三目錄項對象(dentry)

代表一個目錄項,是路徑的組成部分,可以是文件和目錄,為了方便查找路徑和解析引入的。沒有對應的磁盤結構,VFS根據字符串路徑現場創建它,不存在于磁盤上。目錄項有被使用、未被使用和負狀態。負狀態是d_inode指向NULL,理論上沒有存在必要,其實還是可以快速查找的,此外目錄項有緩存,加快查找

四文件對象

文件對象是進程打開的文件,進程之間處理的是文件,文件對象是已經打開的文件在內存中的表示,由open創建由close銷毀,多個進程可以打開操作同一個文件,同一個文件可能存在多個文件對象,它僅僅在進程的觀點上代表打開的文件,文件對象指向目錄項對象,目錄項才和實際的文件一一對應,也和索引節點一一對應。

它們之間的關系如下:

其中task_struct為進程結構體。

轉載于:https://www.cnblogs.com/phoenixlaozhu/archive/2011/11/08/2241833.html

總結

以上是生活随笔為你收集整理的Linux文件IO-例会笔记总结的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。