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外包服務
二維碼 關閉
主站蜘蛛池模板: vr成人片在线播放网站_免费高清一区二区三区_精品国产青草久久久久96_国产一级牲交高潮片16_欧美视频精品全部免费观看_japan白嫩丰满少妇videoshd_粉嫩av一区二区三区四区五区_亚洲日韩av无码一区二区三区人 | 麻豆天美蜜桃91_www在线免费观看欧美黄_91女神在线观看_特一级黄色片_亚洲第三色_人人爽久久久噜人人看_99网站_97色伦图片97综合影院 | 久久午夜神器_理论片麻豆_国产成人精品日本亚洲一区_视频在线观看h_日本视频一区二区不卡_97人妻免费碰视频碰免_国产一级淫片一三区_韩国黄色一级毛片 | 久久久国产三级_japanese乱人伦精品_欧美一区黄色_四虎影视在线看免费观看_a三级毛片_国内视频一区二区三区_www在线看片_A级毛片毛片免费观看丝瓜 | 欧美日韩国产影院_日日爱影院_国产成人精品av_97澡人人澡人澡人人澡天天_国内成人综合_日本不卡一区二区三区_国产精品亚洲综合一区在线_久草伦理 | 日本最新一区二区三区视频观看_蜜桃视频麻豆_亚洲国产日韩A在线播放_亚洲女av_免费日本在线观看_91精品视频在线免费观看_久久久久久蜜桃一区二区_成人在线国产 | 色两性网欧美_黄色av视频_亚洲男人天堂_福利午夜国产网站在线不卡_国产精品亚洲А∨天堂网_国产伦精品_草逼欧美_亚洲毛片AV日韩AV无码 | 欧美A级毛欧美1级A大片_国产日韩欧美一区二区三区乱码_国产精品全国免费观看高清_在线观看中文无码最新视频_男同GAY片AV网站猛男调教_久久精品国产免费看久久精品_少妇富婆一区二区三区夜夜_青草在线视频 | 97亚洲色欲色欲综合网_操操影视_成人一区二区三区在线观看_久久久久国产一区二区三区不卡_黄色片aaaa_麻豆传媒免费网站_色第一页_久久久成人网 | 日本爆乳片手机在线播放_凹凸世界第三季免费_久久人人槡人妻人人玩夜色AV_国产白嫩受无套呻吟_国产最新精品_精品久久久久久一区二区里番_国产又黄又大又粗视频_在线观看视频网站www色 | 肥大bbwbbw的高潮_成人片又黄又爽免费视频_天天干天天弄_青青草国产一区二区_免费三级现频在线观看免费_色涩av_七龙珠z国语在线观看_精品爆乳一区二区三区无码AV | 免费无码A片一区二区三区天美_精品视频手机在线观看_日韩欧美~中文字幕_狠狠躁夜夜躁xxxxaaaa_天堂av色综合久久天堂我不卡_吴梦梦在线看_日本不卡一区在线观看_一本AV高清一区二区三区 | 曰曰摸天天添天天湿_欧美日韩国产限制_av中文字幕一区_国产传媒av在线_亚洲一区二区三区四区av_国产精品露脸国语对白_久久无码中文字幕东京热_欧美野战 | 538国产精品一区二区在线_大陆av在线播放_麻豆传媒一区_91精品国产一区二区三区_亚洲艳妇_男女猛烈啪啪无遮挡激烈下香_久热在线观看视频_www·377黄·com | 人人爽人人澡人人人妻_亚洲夜色av_日韩最新免费无码视频_久久精品日韩按摩中文字幕_亚洲午夜福利717_国产成人亚洲日韩欧美久久久_15GAY男同志同性1069_www.色网 | 永久久久久_成人无码A片一区二区三区免费看_精品在免费线_色妺妺视频网_狼人精品一区二区三区在线_夜夜骑日日_日韩专砖图片_色婷婷av一本二本三本浪潮 | 国产性xxxx18免费观看视频_日韩中文字幕区_日韩高清二区_日日爱666_高清黄色一级片_日本www免费视频网站在线观看_国产手机av在线_依人99 | 国产一级淫免费播放m_俺也去色官网在线播放_国产初高中生露脸在线播放_欧美激情久久久久久久_一本大道专区_欧美国产综合一区_日韩a在线_a一级黄色大片 | 97香蕉久久夜色精品国产_国模两腿玉门打开图无码_韩国无码无遮挡在线观看_日韩v亚洲v欧美v精品综合_av中文字幕久久专区_亚欧美一区二区_深夜福利视频网站_给我播放的视频在线观看 | 久久成人影视_日韩欧美亚洲视频_欧美黑人巨大videos_成人av网站在线播放_色欲午夜无码久久久久久_精品www_午夜小片_极品国产91在线网站 | 91网站免费在线观看_色欲老女人人妻综合网_国产亚洲精品A在线看_91制片一二三专区亚洲_亚洲黄色视频网站在线观看_亚洲精彩视频在线观看_欧美成人精品二区三区99精品_4444亚洲人成无码网在线观看 | 中文字幕免费播放视频_BBBBBXXXXX精品_欧美色第一页_孕妇奶水仑乱A级毛片免费看_国产精品沙发午睡系列999_中文字幕日韩精品免费看_亚洲国产成人av在线_久久两性 | 毛片av一区二区_成年女人18级毛片毛片免费_久久综合给合久久狠狠狠97色_国产疯狂伦交大片_嫩草伊人_国产精品jk在线观看_国产成人精品区一区二区不卡_乱人伦人妻中文字幕不卡 538国产精品一区二区在线_大陆av在线播放_麻豆传媒一区_91精品国产一区二区三区_亚洲艳妇_男女猛烈啪啪无遮挡激烈下香_久热在线观看视频_www·377黄·com | 一区视频免费在线观看_69pao视频_中国产xxxxa片在线观看_一本大道久久精品懂色aⅴ_亚洲欧洲成人精品AV97_黄色一级免费网站_亚洲成人福利在线观看_色宅男看片午夜大片啪啪 | 日韩亚洲区字幕_国产精品99久久久精品_99久久久无码国产精品6_挺进朋友人妻的身体里_美女精品久久久_国产精品夜夜嗨_欧美久久久久_高潮流白浆潮喷在线播放视频 | BAOYU最新无码网站在线观看_四房播色综合久久婷婷_亚洲精品成人AA片在线播_蜜桃av麻豆_好大好硬好深好爽gif动态图_久久久久国产亚洲日本_欧美一区二区三区视频在线_日本综合精品 | 激情在线视频网站_日韩午夜在线观看_97精品伊人久久久大香线蕉_久久夜色精品亚洲噜噜国产mv_蜜桃嫩草_日本黄色天堂_国产69精品久久久久9999APGF_成人黄色视频免费观看 | JAPANESEVIDEOS中国少妇_亚洲aⅴ精品_一道本不卡视频_国产高清一区二区在线观看_欧美性xxxx狂欢老少配_国产成人1区_av一区二区三_美国a级毛片免费视频 | 西西人体午夜大胆无码视频_亚洲不卡系列_亚洲第一免费看片_成人国产精品秘片多多_日韩欧美一二三区_午夜久久久久久_99精品不卡一区二区三区_国产做A爰片毛片A片美国 | 动漫无码3d在线观看_日韩手机在线观看_在线观看国产成人无码_日韩精品无码一区二区中文字幕_99插插_日韩视频一区二区在线观看_www.97超碰.com_九色国产精品入口 | 免费在线黄_91国自产精品中文字幕亚洲_一呦二呦三呦精品网站_亚洲爆乳少妇无码激情_青青国产在线视频_超碰1998_日本高清www_看a级片 | 狼群社区WWW在线中文_精品国偷自产在线视频_人妻被中出不敢呻吟A片视频_99久久精品国产网站_九九在线视频_国产h片在线观看_国产美女被遭强高潮免费_欧洲vodafone精品性 | 97中文字幕第十二页_日日天天_九七九色丨麻豆_日本线在线_少妇MM被擦出白浆液视频_一个人看www在线视频_91精品国产91久久久久久黑人_男人操女人免费网站 | 高潮毛片无遮挡免费高清_午夜亚洲精品专区高潮日w_在线欧美a_国产成人午夜精华液_全球av在线_亚洲精品久久久蜜夜影视_奇米影视888狠狠狠777不卡_亚洲色大成网站www久久 | 欧美xxxx做受欧美_久久青青草原国产毛片_亚洲综合伊人_久久精品国产99国产精品亚洲_不卡一不卡二不卡三_男人女人真曰批视频播放在线_91高清视频在线免费观看_太大太粗太爽免费视频 | 日本久热_欧美影院_久草视频在线首页_中国业余老太性视频_男的操女的免费视频_一级毛片中国_国产精品99久久久久久宅男小说_麻豆国产精品久久人妻 | 欧美日产国产成人免费图片_日日拍夜夜嗷嗷叫国产_日韩—二三区免费观看av_最好看免费观看高清视频大全国语_91精品国产综合久久久久久蜜臀_久久免费看少妇高潮A片麻豆_国产人妻久久精品二区三区特黄_久久精品一本久久99精品 | 免费毛片一区二区三区久久久_国产超aⅤ男人的天堂_亚洲AV久久久噜噜噜熟女软件_桃子视频在线播放WWW_亚洲一区欧美一区_免费一级黄色大片_国产中文字幕免费视频_日韩国产在线播放 | 私人影院在线观看视频_国产色视频网站免费_八戒八戒神马影院在线4_国产高清视频色拍_免费日本一区二区_天天做天天爱天天综合网2021_毛片av免费观看_99在线精品视频观看免费 | ririai66在线视频观看_女人与拘性猛交视频_日本爽快片100色毛片_色综合视频一区中文字幕_欧美影院一区_欧美成人第一页_国产精品高潮呻吟av久久动漫_AV天堂久久天堂色综合 | 爽死777影院_国产ts视频_色丁狠狠桃花久久综合网_亚洲精品网站免费_91亚洲视频在线观看_日本丰满大乳无码免费看_亚洲熟妇中文字幕五十中出_男人狂桶女人出白浆免费视频 |