日本高清免费一本视频100禁_在线不卡欧美精品一区二区三区_国产一区二区好的精华液_中文综合在线_国产啊啊啊视频在线观看_大地资源网免费观看高清

IT之道-艾銻知道

您當前位置: 主頁 > IT服務 > 服務器服務 >

IT系統運維中Linux文件系統詳解


2020-04-18 19:33 作者:艾銻無限 瀏覽量:

IT系統運維 | Linux文件系統詳解
 
Linux 文件系統體系結構是一個對復雜系統進行抽象化的有趣例子。通過使用一組通用的 API 函數,Linux 可以在許多種存儲設備上支持許多種文件系統。例如,read 函數調用可以從指定的文件描述符讀取一定數量的字節。

read 函數不了解文件系統的類型,比如 ext3 或 NFS。它也不了解文件系統所在的存儲媒體,比如 AT Attachment Packet Interface(ATAPI)磁盤、Serial-Attached SCSI(SAS)磁盤或 Serial Advanced Technology Attachment(SATA)磁盤。但是,當通過調用 read 函數讀取一個文件時,數據會正常返回。本文講解這個機制的實現方法并介紹 Linux 文件系統層的主要結構。作為Linux系統運維工程師必須掌握

什么是文件系統?

首先回答最常見的問題,“什么是文件系統”。文件系統是對一個存儲設備上的數據和元數據進行組織的機制。由于定義如此寬泛,支持它的代碼會很有意思。正如前面提到的,有許多種文件系統和媒體。由于存在這么多類型,可以預料到 Linux 文件系統接口實現為分層的體系結構,從而將用戶接口層、文件系統實現和操作存儲設備的驅動程序分隔開。

掛裝

在 Linux 中將一個文件系統與一個存儲設備關聯起來的過程稱為掛裝(mount)。使用 mount 命令將一個文件系統附著到當前文件系統層次結構中(根)。在執行掛裝時,要提供文件系統類型、文件系統和一個掛裝點。

為了說明 Linux 文件系統層的功能(以及掛裝的方法),我們在當前文件系統的一個文件中創建一個文件系統。實現的方法是,首先用 dd 命令創建一個指定大小的文件(使用 /dev/zero 作為源進行文件復制)—— 換句話說,一個用零進行初始化的文件

文件系統體系結構

既然已經看到了文件系統的構造方法,現在就看看 Linux 文件系統層的體系結構。本文從兩個角度考察 Linux 文件系統。首先采用高層體系結構的角度。然后進行深層次討論,介紹實現文件系統層的主要結構。

高層體系結構

盡管大多數文件系統代碼在內核中(后面討論的用戶空間文件系統除外),但是圖 1 所示的體系結構顯示了用戶空間和內核中與文件系統相關的主要組件之間的關系。
Linux 文件系統組件的體系結構


 


 
用戶空間包含一些應用程序(例如,文件系統的使用者)和 GNU C 庫(glibc),它們為文件系統調用(打開、讀取、寫和關閉)提供用戶接口。系統調用接口的作用就像是交換器,它將系統調用從用戶空間發送到內核空間中的適當端點。

VFS 是底層文件系統的主要接口。這個組件導出一組接口,然后將它們抽象到各個文件系統,各個文件系統的行為可能差異很大。有兩個針對文件系統對象的緩存(inode 和 dentry)。它們緩存最近使用過的文件系統對象。每個文件系統實現(比如 ext2、JFS 等等)導出一組通用接口,供 VFS 使用。緩沖區緩存會緩存文件系統和相關塊設備之間的請求。例如,對底層設備驅動程序的讀寫請求會通過緩沖區緩存來傳遞。這就允許在其中緩存請求,減少訪問物理設備的次數,加快訪問速度。以最近使用(LRU)列表的形式管理緩沖區緩存。注意,可以使用 sync 命令將緩沖區緩存中的請求發送到存儲媒體(迫使所有未寫的數據發送到設備驅動程序,進而發送到存儲設備)。這就是 VFS 和文件系統組件的高層情況。現在,討論實現這個子系統的主要結構。

主要結構

Linux 以一組通用對象的角度看待所有文件系統。這些對象是超級塊(superblock)、inode、dentry 和文件。超級塊在每個文件系統的根上,超級塊描述和維護文件系統的狀態。文件系統中管理的每個對象(文件或目錄)在 Linux 中表示為一個 inode。inode 包含管理文件系統中的對象所需的所有元數據(包括可以在對象上執行的操作)。另一組結構稱為 dentry,它們用來實現名稱和 inode 之間的映射,有一個目錄緩存用來保存最近使用的 dentry。dentry 還維護目錄和文件之間的關系,從而支持在文件系統中移動。最后,VFS 文件表示一個打開的文件(保存打開的文件的狀態,比如寫偏移量等等)。

虛擬文件系統層

VFS 作為文件系統接口的根層。VFS 記錄當前支持的文件系統以及當前掛裝的文件系統。

可以使用一組注冊函數在 Linux 中動態地添加或刪除文件系統。內核保存當前支持的文件系統的列表,可以通過 /proc 文件系統在用戶空間中查看這個列表。這個虛擬文件還顯示當前與這些文件系統相關聯的設備。在 Linux 中添加新文件系統的方法是調用 register_filesystem。這個函數的參數定義一個文件系統結構(file_system_type)的引用,這個結構定義文件系統的名稱、一組屬性和兩個超級塊函數。也可以注銷文件系統。

在注冊新的文件系統時,會把這個文件系統和它的相關信息添加到 file_systems 列表中。這個列表定義可以支持的文件系統。在命令行上輸入 cat /proc/filesystems,就可以查看這個列表。

向內核注冊的文件系統

 

 
VFS 中維護的另一個結構是掛裝的文件系統。這個結構提供當前掛裝的文件系統(見 linux /include /linux/fs.h)。它鏈接下面討論的超級塊結構。

掛裝的文件系統列表


 

 
超級塊

超級塊結構表示一個文件系統。它包含管理文件系統所需的信息,包括文件系統名稱(比如 ext2)、文件系統的大小和狀態、塊設備的引用和元數據信息(比如空閑列表等等)。超級塊通常存儲在存儲媒體上,但是如果超級塊不存在,也可以實時創建它。可以在 ./linux/include/linux/fs.h 中找到超級塊結構。

超級塊結構和 inode 操作

 

 
超級塊中的一個重要元素是超級塊操作的定義。這個結構定義一組用來管理這個文件系統中的 inode 的函數。例如,可以用 alloc_inode 分配 inode,用 destroy_inode 刪除 inode。可以用 read_inode 和 write_inode 讀寫 inode,用 sync_fs 執行文件系統同步。可以在 ./linux /include/ linux/fs.h 中找到 super_operations 結構。每個文件系統提供自己的 inode 方法,這些方法實現操作并向 VFS 層提供通用的抽象。

inode和dentry

inode 表示文件系統中的一個對象,它具有惟一標識符。各個文件系統提供將文件名映射為惟一 inode 標識符和 inode 引用的方法。下面顯示 inode 結構的一部分以及兩個相關結構。請特別注意 inode_operations 和 file_operations。這些結構表示可以在這個 inode 上執行的操作。inode_operations 定義直接在 inode 上執行的操作,而 file_operations 定義與文件和目錄相關的方法(標準系統調用)。

inode 結構和相關聯的操作

 

 
inode 和目錄緩存分別保存最近使用的 inode 和 dentry。注意,對于 inode 緩存中的每個 inode,在目錄緩存中都有一個對應的 dentry。可以在 ./linux/include/linux/fs.h 中找到 inode 和 dentry 結構。

緩沖區緩存

除了各個文件系統實現(可以在 ./linux/fs 中找到)之外,文件系統層的底部是緩沖區緩存。這個組件跟蹤來自文件系統實現和物理設備(通過設備驅動程序)的讀寫請求。為了提高效率,Linux 對請求進行緩存,避免將所有請求發送到物理設備。緩存中緩存最近使用的緩沖區(頁面),這些緩沖區可以快速提供給各個文件系統。

有趣的文件系統

本文沒有討論 Linux 中可用的具體文件系統,但是值得在這里稍微提一下。Linux 支持許多種文件系統,包括 MINIX、MS-DOS 和 ext2 等老式文件系統。Linux 還支持 ext3、JFS 和 ReiserFS 等新的日志型文件系統。另外,Linux 支持加密文件系統(比如 CFS)和虛擬文件系統(比如 /proc)。

最后一種值得注意的文件系統是 Filesystem in Userspace(FUSE)。這種文件系統可以將文件系統請求通過 VFS 發送回用戶空間。所以,如果您有興趣創建自己的文件系統,那么通過使用 FUSE 進行開發是一種不錯的方法。

結束語

盡管文件系統的實現并不復雜,但它是可伸縮可擴展的體系結構的好例子。文件系統體系結構已經發展了許多年,并成功地支持了許多不同類型的文件系統和許多目標存儲設備類型。由于使用了基于插件的體系結構和多層的函數間接性,Linux 文件系統在近期的發展很值得關注。
 
以上內容由北京艾銻無限科技發展有限公司整理

相關文章

IT外包服務
二維碼 關閉
主站蜘蛛池模板: 亚洲四播房_九九在线视频_麻豆免费av_无码人妻精品中文字幕不卡_国产精品久久午夜夜伦鲁鲁_亚洲免费av一区二区_美女乱淫aaaa高清视频_久草色视频在线观看 | 色窝窝51精品国产人妻消防_免费无码成人片在线观看软件_麻豆porn_午夜理论片yy44880影院_免费无毒的黄色_国产日韩一区二区三免费高清_日本1区2区_亚洲自拍99 | 亚洲综合第一页_成人在线视频在线观看_欧美成人精品一区二区三区在线观看_国产日韩欧美亚洲精品中字_国产二区在线播放_av黄在线观免费网站_国产精品自在在线午夜蜜芽TV在线_国产色悠悠 | 久久婷婷综合缴情亚洲狠狠_久久伦理_欧美日韩视频免费在线观看_欧美国产日韩成人_神天至尊动漫免费观看高清_最近中文字幕在线免费视频_久久久999精品_一级大片免费看 | 超碰97成人_97在线视频免费人妻_韩国免费一区_无码国产色欲XXXX视频_国产精品久久久久久99999_日韩国产亚洲欧美成人图片_午夜宅男在线观看_欧美日韩综合一区二区三区 | 国产a区_99精品欧美一区二区三区_在线观看一区不卡_国产成人片无码视频在线观看_亚洲精品乱码久久观看网_国产精品久久这里只有精品_先锋中文字幕在线资源_久草在线中文888 | 欧美日韩在线视频播放_成人国产1314www色视频_粗大猛烈进出白浆视频_懂色av一区二区三区免费观看_亚洲看片_免费人成自慰网站_天堂网在线观看视频_亚洲激情视频在线观看 | 日日操天天_二区视频在线观看_一级欧美一级日韩_成人综合网在线_日本黄色片在线观看_www.17c.com小草影视_青青草手机在线观看视频_日韩新片王网 | 成人黄色av_国产精品99无码一区二区_久久免费视频3_日本www色_少妇激情艳情综合小视频_久久99久久99小草精品免视看_国产熟女精品一区二区_黄色影视网站 | 伊人九九九有限公司_柠檬导航精品导航_67194熟妇在线观看线路1_av女优天堂在线观看_在线视频一二三_色妺妺在线视频_亚洲婷婷在线视频_国产精品熟 | 69re视频_最近更新中文字幕视频_护士奶头又白又大又好模_亚洲最新版av无码中文字幕一区_最近最好看的2018中文字幕_一区二区视频_熟妇女领导呻吟疯狂_亚洲成A∨人片在线观看无码 | 色欲午夜无码久久久久久_se亚洲_日本xxxx在线播放_在线精品观看国产_久久黑人_日韩一二三_国产精品网站在线观看免费传媒_在线色影院 | cao视频_欧美亚洲三区_国产精品人妻无码久久久_亚洲一二三在线_国产精品久久久久久久久粉嫩_2021久久_黄色短片网站_免费1区2区3区 | 欧美日韩精品一区二区在线视频_国产午夜精品一区二区三区不卡_国内精品伊人久久久久AV影院_国产精品av久久久久久网站_真人性囗交视频_高清国产在线播放成人_丁香九月激情_国产www在线观看 | 污污网站18禁在线永久免费观看_日本欧美韩国_porno俄罗斯_A毛片终身免费观看网站_中国av免费_午夜A级理论片在线播放_九九在线精品国产_9xfuli福利视频 | 久久久久久久久久久久91_中国孕妇变态孕交XXXX_国精品无码人妻一区二区三区_国产成人免费在线视频_成人免费看片_免费二区_91视频视频_亚洲2021av天堂手机版 | 狠狠操综合_99热这里只有精品5_国产aⅴ精品_日本在线视频www色_97夜夜澡人人波多野结衣_欧美一级一区二区三区_国产精品自拍系列_日韩精品免费综合视频在线播放 | 中文无码乱人伦中文视频在线_国产福利无码一区在线_程视频精品视频一区二区三区欧_国产精品二区视频_一区二区三区高清视频在线观看_国产成人在线免费_国产乱码一区二区三区爽爽爽_日韩欧美色激情 | 国产成人女人在线视频观看_免费xxxx大片国产片_少妇高潮久久久久久软件_亚洲影视在线观看_久久接色_日本精品99一区二区不卡_在线免费看黄色_亚洲国产精品高清久久久 | av黄色在线观看_国产一级片一区二区_一本大道香蕉久中文在线播放_开心色播五月_国内揄拍国内精品少妇_久草久热_久久996热在线播放_我的公把我弄高潮了视频 | 无码人妻黑人中文字幕_日韩欧美中文视频_国产精品无码无片在线播放_亚洲精品GV天堂无码男同_久久ri资源网_亚洲天堂男人影院_国产成人欧美视频在线观看_一本大道久久a久久精二佰 | 福利在线看_日本在线天堂_热久久国产_日韩不卡在线观看日韩不卡视频_国产日产欧产精品精品蜜芽_韩国一级片免费_亚洲欧美日韩综合在线_免费不卡视频 | 台湾无码一区二区_中国黄色毛片视频_日本国产在线观看_黄色片毛片_神马视频在线观看_欧美日韩在线看_一本大道久久精品懂色aⅴ_午夜影片 | 日韩中文字幕在线免费_嫩草伊人_男人的天堂色欲网_三a级片_久久久成人网_免费a在线观看播放_在线中文字幕乱码英文字幕正常_一区免费 | 久久免费影院_国产精品69久久_国产欧美久久久精品二区仙踪林_日韩91_a级黄毛片_国产成人综合在线观看不卡_久久无码人妻丰满熟妇区毛片_任你操在线 | 成人区一区_国产欧美日韩一区二区加勒比_中文无码乱人伦中文视频在线V_亚洲精品大片_欧美成人在线视频_91火爆视频_亚洲国产成人精品无码区在线秒播_青青操视频在线观看 | 国产精品成人免费_av在线免费网址_99ee6热久久免费精品6_JLZZJLZZ亚洲乱熟在线播放_免费av一区二区三区无码_法国性经典xxxxx_69福利_日本不卡一二区 | www久久久_78色淫网站女女免费_国产精品7区_九色视频免费观看_91精品观看91久久久久久国产_久草手机在线视频_久久国产劲暴∨内射新川_91久久人澡人人添人人爽爱播网 | 亚洲免费天堂_麻豆.www_日本中文字幕精品_麻豆视频在线观看免费_上流社会韩剧免费观看_涩涩屋导航_久久亚洲精品成人_天堂资源中文网 | 亚洲一区视频在线_日韩av无码中文一区二区三区_欧洲一级中文字幕在线_伊人大杳焦在线_国产精品久久久久久久久久久久久久_freesexvideos高潮hd护士_久久久久成亚洲综合精品_成人片又黄又爽免费视频 | 做爰全过程免费120秒_黄色片子在线观看_国产三级久久久久_国产精品久久777777_女明星黄网站色视频免费国产_国产精品爆乳奶水无码视频免费_久久免费看少妇高潮A片麻豆_hi6你好星期六免费观看 | 四虎影视8848h_日本一卡2卡三卡4卡无卡免费网站_亚洲欧美精品_超清精品丝袜国产自在线拍_精品国产福利在线_xxx国产在线_二区top_麻豆91av | 最近免费中文字幕在线视频2_国产又粗又猛又黄又爽无遮挡_在线播放国产不卡免费视频_国产精品久久久久影视_国产女厕所盗摄老师厕所嘘嘘_国产AV夜夜欢一区二区三区_99国产精品一区二区_国产精品亚洲精品久久精品 | 小明成人永久免费视频在线观看_中文在线国产_一区二区三区AV高清免费波多_亚洲一级毛片在线_成人av毛片_亚洲伦理在线_野花社区观看在线www官网_国产亚洲AV无码专区A∨麻豆 | 性色欲情侣网站WWW_免费a级毛片无码∨_高清免费在线视频_日本三级在线看一区二区_天下第一社区视频WWW国语_黄色免费大全_欧美三日本三级少妇三99大粗_久久厕所偷拍视频 | 国产亚洲精品AA片在线观看网站_黄色免费在线观看网址_九一亚色_91蝌蚪九色_末发育娇小性色xxxxx视频_国产精品久久久免费看_九九精视频_免费很黄无遮挡的视频 | 久久久久久精品无码人妻_亚洲欧洲日韩精品中文字幕_国产乱一乱二乱三_在线观看国产成人无码_精品人在线二区三区_性爱国产精品福利_少妇自慰流白口浆21p_神马午夜精品 | 日本不卡的三区四区五区_亚州ava_亚洲乱亚洲乱妇无码_日日操日日摸_日本XXXX色视频在线观看免费,_蜜桃日韩_黄免费观看_www.亚洲一区二区 | 久久成人av网站_99精品国产综合久久久久五月天_国产午夜免费高清久久影院_狠狠色丁香九九婷婷综合五月_韩国女主播一区二区三区_在线观看中文av_日本最新中文字幕_亚洲乱轮视频 | 日韩成人高清_精品韩国三级在线观看视频_天堂中文在线资源_久久久久91_最近最新中文第一页_日本丰满大乳无码免费看_日本韩国视频在线观看_无码人妻久久一区二区三区 | 国产国语性生话播放_亚洲综合日韩欧美_2018高清国产一区二区三区_人与善性猛交xxxx视频_小污女小欲女导航_精品对白一区国产伦_麻豆国产VIDEOFREE高清_bt久久 |