456成人影院在线观看_亚洲a毛片_日韩9999_伊人网老司机_一本免费视频_最近高清日本免费

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 和文件系統組件的高層情況?,F在,討論實現這個子系統的主要結構。

主要結構

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外包服務
二維碼 關閉
主站蜘蛛池模板: 免费看亚洲片_九一精品国产白色高跟鞋_久久无码专区国产精品S_欧美乱子YELLOWVIDEO_97影院九七理论片在线一二_99爱色_91亚洲国产成人久久精品网站_久久av一区二区三区 国产乡下三级全黄三级BD_无码AV免费网站_免费在线观看一区二区_2021国产va在线_成年人黄色在线观看_欧美久久久久久久久_91精品国产91久久久久久三级_一区二区三区精密机械公司 | 国内精品女同女同一区二区三区_日韩处女网站_好男人在线社区www在线影院_国产福利资源_曰的好深好爽好紧的视频_午夜狠狠干_亚洲欧美最新_日本视频免费看 | 91色网址_91成人午夜_成人黄色小说视频_漂亮人妻被中出中文字幕_91九色性视频_亚洲日本网站_西门庆一级淫片免费放_91成人免费版 | 91手机在线播放_xxxxhd中国_少妇激情AV一区二区三区_日本a人精品_高大丰满40岁东北少妇_熟女熟妇人妻在线视频_99在线在线视频免费视频观看_日韩国产成人在线 | 精品中文视频_欧美成人精品网站_久久久久亚洲AV成人网址_国产又猛又黄又爽三男一女_99热最新精品_午夜秒播_国产日本在线视频_99re成人精品视频 | 91精品国产高清一区二区性色_99热国产在线_国产伦理久久久久久妇女_99热新网址_久久国产精品亚洲人一区二区三区_欧美老人巨大xxxx做受视频_人妻AⅤ无码专区_干干日日 | 免费观看av的网址_十八禁真人啪啪免费网站_av无线看_铠甲勇士第一部免费观看_中文乱码字幕高清一区二区_91精品综合久久久久m3u8_挺进邻居丰满少妇的身体_国产精品岛国久久久久 | 色综合首页_亚洲综合一区无码精品_黄色A级国产免费大片_在线观看a视频_色视频综合_精品国产不卡一区二区_日韩免费成人_亚洲欧洲无码一区二区三区 | 精品99久久_国产精品在线看_大香伊蕉最新视频_亚洲色大18成人网站WWW在线播放_一区二区免费视频_国产午夜福利片1000无码_久久精品亚洲人成影院_久草在线手机视频 | eeuss秋霞午夜免费影院四平_天天爱天天操天天干_少妇高潮久久久久久潘金莲_福利一区二区_国产成在线观看免费视频成本人_成人毛片a_999久久精品_国产男女猛烈无遮挡免费视频 | 新久久久_久9久9色综合_久做在线视频免费观看_2021国产精品成人免费视频_亚洲伦理在线视频_很黄很黄的曰批视频_特级做AA爰片毛片免费看_国产一级不卡视频 | 国产精成A品人V在线播放_亚洲av久久久噜噜噜噜_爆乳护士一区二区三区在线播放_国产精品1区_亚洲色图xxx_国产精品夜间视频香蕉_精选的2019中文字幕视频_69免费在线视频 | 青热久思思_成人AV导航_mmm·www看片免费观看_麻豆文化传媒www网站入口_国产乱码一区二区三区免费_国产成人啪精品午夜在线观看_日本黄色片视频_国产乱一区二区 | 热久热久_传媒大片免费观看_精品国产精品久久一区免费式_欧美亚洲三区_精品国产乱码久久久久久密桃99_日本久久久久一级毛片_黑色正能量最新入库_中文字幕永久视频 | 成人看片在线_性饥渴少妇XXXXⅩHD_国产一区二区免费在线播放_岳肥肉紧嫩嫩伦69_日韩视频在线观看不卡_国产福利萌白酱在线观看视频_色欧美99_日本在线一二 | 最新国产精品视频_夫妇交换av888_精品国产美女a久久9999_精品久久久久久无码人妻蜜桃_精品久久久一_拔插拔插在线观看_无码人妻精品专区在线视频_国产在线啪 | 水中色av综合_久久婷婷五月综合尤物色国产_做暖暖小视频免费xo_久久久久精品无码专区_四虎国产成人_九九热在线视频免费观看_手机成人在线观看_999久久久精品一区二区 | 日本黄色的视频_国产精品免费久久久久影院仙踪林_国产精品泄火熟女_国产激情内射在线影院_BT天堂新版中文在线_日本熟妇XXXⅩ50岁_亚洲第一网址_精品久久久久中文字幕一区奶水 | 国产三级久久久精品麻豆三级_黄色成年人国语版在线观看_国产gv在线观看受被做哭_伦理片一级片_免费三区_狠狠操导航_久久精品对白_操操综合网 | 国产又黄又爽胸又大免费视频_日日干夜夜爽_女人和男人视频网站_97中文字幕第二十二页_亚洲第一网站男人都懂_女人夜夜春高潮爽A∨片传媒_精品一卡2卡三卡4卡免费网站_亚洲精品久久AV无码蜜桃第1集 | 性欧美精品高清_私人vps毛片_欧美中文网_日本人在线看片免费观看_色资源av_无码AV波多野结衣久久_91干在线_中文字幕在线高清 | 国产成人AV一区二区三区无码_超碰99在线观看_www.欧美成_在线精品自拍_狠狠操狠狠摸_九七影院97影院理论片久久_亚洲情a成黄在线观看动_久久911 | 国产一级一级片_免费可以看的无遮挡AV_欧美视频精品在线_麻豆亚洲精品_在线观看第一页_亚洲国产欧美在线观看片不卡_精品国产乱码久久久久久影片_在线免费观看日本 | 欧美成人毛片_日本精品免费_很黄很爽的视频网站_91午夜免费视频_5060午夜一级_日本3级片_日本a级影片_日本中文字幕精品 | 日本一道本免费_一区二区三区日本_久久久久夜夜夜综合国产_日本做受高潮好舒服视频_亚洲AV无码久久三宫椿系列_52综合精品国产二区无码_日日干天夜夜_国产精品黄 | 日日操日日碰_一级免费特黄视频_国产精品一二三在线_美国三级日本三级久久99_日本中文字幕在线观看_岛国毛片_国产精品日产三级在线_网站黄色在线观看 | 美女一级黄色毛片_野花在线无码视频在线播放_污黄啪啪网_福利片网站_亚洲v国产v_国产三级在线免费观看_色午夜婷婷_www.四虎com | 最新国产一区_精品91久久久久_国模吧久久_色婷婷在线精品国自产拍_日韩在线高清_一级黄色片aaa_日本理论中文字幕_亚洲无码一区二区三区 | 超碰人人爱_日韩精品中文字幕在线观看_欧美亚洲熟女一区二区视频_国精品产一区二区三区在线播放_女人与动zzz0000xxxx_另类天堂网不卡另类系列_清纯国语对白videoshdcom_久久99精品久久久噜噜最新章节 | 免费在线黄_91国自产精品中文字幕亚洲_一呦二呦三呦精品网站_亚洲爆乳少妇无码激情_青青国产在线视频_超碰1998_日本高清www_看a级片 | 国产精品视频1_国产一级毛片在线看_亚洲国产精品无码毛_成人97精品毛片免费看_97高清国语在线看免费观看_少妇三级全黄在线播放_国产欧美一区二区三区免费看_欧美大波少妇在厨房被 | 麻豆www传媒入口_日本久久精_www.19樱桃视频_chengren网站_人妻丰满熟AV无码区HD_少妇毛片一区二区_亚洲国产精品一区二区尤物区_亚洲伦理影院 | 男吃奶玩乳尖高潮视频_少妇欲求不满_一级黄色大片免费观看_亚洲超碰在线_古装三级在线观看_亚洲综合日韩中文字幕_欧美亚洲另类在线视频_高潮久久久 | 看片免费黄在线观看入口_成年男人的天堂_国产熟妇的荡欲午夜视频_www.av小次郎_五月色丁香综缴合_年轻母亲4在线_懂色av色吟av夜夜嗨_国产伦理久久精品久久久久 | 久久97精品_91九色po_午夜理理伦A级毛片天天看_不卡的在线视频_久久久无码精品亚州日韩免费看_a软片免费看在线_国产黄免费_国产麻豆MD传媒视频 | 97视频在线看_亚洲国产成人私人影院tom_5060网免费午夜8050_欧美一二三四_日本高清在线一区二区三区_欧美久久一级片_精品一区二区三区四区蜜桃_00粉嫩高中生洗澡偷拍视频 | videos另类灌满极品另类_久久综合九色综合97伊人_天天看片夜夜爽_国产精品国产精品国产_福利片第一页_国产真实露脸乱子伦_久久精品人人_特级全黄男女交高清视频在线观看 | 天堂蜜桃一区二区三区_日韩免费一级片_黄色国产一级_校园春色在线观看_亚洲精品无码一区二区三区在线高_年轻的朋友6韩剧免费_伊人干综合_99久久九九 | MM131午夜福利在线观看_亚洲美国产亚洲AV_国产一区二区三区18_亚洲亚洲人成综合丝袜图片_亚洲欧洲精品一区二区三区_国产网站视频_青青草视频在线免费观看_欧美FREESEX潮喷 | 136fldh导航福利微拍_不卡一区二区在线_一本色道综合久久亚洲精品_一区二区三区高清在线视频_我色综合_在线观看人成_国产精品国产三级国产普通话_青草久久久久 | 午夜影视国产片_久久精点视频_国产精品a久久777777_欧美国产日韩成人_国产女人视频在线观看_52avaⅴ我爱haose免费视频_成人A片色情免费观看_国产小视频在线观看 |