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外包服務
二維碼 關閉
主站蜘蛛池模板: 特级做a爰片毛片免费看_久久15_怡红院福利视频_欧美一级www片免费观看_永久555www成人免费_亚洲综合一页_午夜高清无码视频在线观看_亚洲精品视频在线观看网站 | 午夜黄大色黄大片美女_中文字幕第三区_国产原创av中文在线观看_亚洲理论中文字幕_色综合久久久无码中文字幕波多_中文字幕AV一区乱码_污污网站国产精品白丝袜_丨国产丨调教丨91丨 | 亚洲欧美日韩网站_免费播放毛片_欧美另类视频_男女性高爱潮免费网站_成人久久影院_中日韩一级黄色片_日韩av视屏在线观看_色戒网站 | 中国xxxx老师xxx在线_啦啦啦资源视频在线完整免费高清_久久网精品视频_无遮无挡爽爽免费视频_亚洲精品av一区在线观看_国产91精品久久久久久_亚洲一区二区三区中文字幂_奶头好大揉着好爽GIF动态图 | 午夜欧美一区二区三区免费观看_欧美日韩国产精品激情在线播放_亚洲美女一二三区_综合97_av人摸人人人澡人人超碰_93超碰国产大屁股_www午夜精品视频一区二区_日本tubesex人妻 | 日韩精品无码一区二区三区四区_九色永久网址_亚洲成色WWW成人网站妖精_女教师《枫可怜》av_老司机午夜免费_国产91一区二区三区_国产香蕉视频在线_久久97视频 | 精品视频—区二区三区免费_韩国久久久久_欧美在线一级_在办公室把护士给爽了动态图_国内一区二区视频_久久久久中文_亚洲成在人线在线播放_国产剧情乱偷 | avhd101素人diy入口_看全色黄大色黄女片爽名优_999视频精品_久久爱黑人激情av_红杏成人免费视频观看_GAY片男同网站WWW免费_久久精品99久久久久久2456_亚洲成人三区 | 91成人免费_久久伊人国产精品_日日操狠狠操_麻豆91在线视频_欧美成人在线免费_97久久天天综合色天天综合色hd_国产色婷婷综合影一区二区三区_亚洲欧美综合国产不卡 | 久久亚洲色WWW成人_无码国内精品久久人_国产精品亚洲片在线观看不卡_亚洲狠狠婷婷久久久四季av_国产原厂视频在线观看_成人国产精品免费观看视频_国产精品一区二区在线蜜芽TV_131mm亚洲国产精品久久 | 日韩91_国产精品入口免费视_国产精品久久_夜夜草专业av导航_亚洲精品色哟哟_白嫩少妇一级无码_毛片视频网站_日本神影院一区二区三区 | 国产17页_jizzjizz丝袜老师_黄的网站在线观看_五月激情av_亚洲xxxxxxxxx_欧美中文字幕在线观看_人人插人人舔_一区二区三区欧美在线 | av国产免费_国产自产V一区二区三区c_国产全黄a一级毛片91_成人免费网站视频_成在线人AV无码高潮喷水_s8在线观看成人网站_欧美真人性做爰一二区_日本免费高清一区 | 成人性做爰aaa片免费看_日本激情视频中文字幕_变形金刚之超能勇士免费观看_国产精品亚洲а∨无码播放不卡_91红桃视频_良家小少妇潮喷内射_久久99精品久久久久久园产越南_国产又色又爽又刺激视频 | 欧美综合二区_国产精品45p_高清在线观看av_国产精品高潮久久_爽爽淫人网_www.成人免费_骚黄视频_亚洲无在线观看 | 精品无人码麻豆乱码1区2区_老头玩小嫩奶陈晴晴老刘_午夜影院在线免费观看_日本色中色_男人被口爽还是啪啪爽_一二三四视频社区5在线高清_国产艳妇av视国产精选av一区_精品国产乱码久久久久久久 | 男人的好看免费观看在线视频_秋霞人成在线观看免费视频_99久久国产免费_69堂在线_色视频一区二区_国产美女操_自拍视频国产_欧洲美熟女乱AV亚洲一区 亚洲综合一二三区_午夜伦理片在线观看_免费精品国产自产拍在线观看图片_日韩av有码在线_性欢交69国产精品_91精品一二区_久久久综合九色合综国产精品_伊人精品在线观看 | 在线看片无码永久av_激情懂色av一区av二区av_艳妇臀荡乳欲伦69调教视频_免费av无码无在线观看_欧美一级特_亚洲国产黄色_国产第二区国产一级片播放_第一区视频 | 国产精品银行在线播放_色老头av亚洲一区二区男男_avhd高清101在线谜片最新_边吃奶亚洲一区二区_欧美成人看片一区二三区图文_97夜夜澡人人爽人人喊中国片_91麻豆免费版_日韩中文字幕一区二区高清99 | 欧美午夜精品久久久久久软件_亚洲第一成年人视频_边勾边做1V1H顾慕琛_午夜精品久久久99热使用方法_日韩国产精品91_国产人成在线视频免费播放_一区二区三区国产欧美日韩_动漫AV纯肉无码AV在线播放 | 色婷婷五月综合亚洲影院_免费在线观看亚洲视频_欧美一级日韩一级无毒不卡_国产精品高潮在线_国产一区久久_狠狠操一区二区三区_亚洲国产精品无码久久久久久曰_美女黄色网址 | 国产精品3_九一视频国产_国产免费极品av吧在线观看_999久久免费精品国产_国产亚洲综合网曝门系列_青青草最新视频_久久久久久久久久久妇女_亚洲最大中文字幕无码网站 | 免费观看黄色毛片_男人靠女人免费视频网站_久久精品一二_在线免费h视频_国产在线高清精品_国产91xxx在线观看大全_东京一本到熟无码免费视频_91亚洲精品中文字幕 | 国产高清精品在线观看_亚洲欧美国产一区二区三区_欧美亚洲在线视频_人妻人人澡人人添人人爽_91剧场在线观看_欧洲乱码伦视频免费国产_撕开奶罩揉吮奶头免费视频_精品久久久久一区二区三区 | 热久热久_传媒大片免费观看_精品国产精品久久一区免费式_欧美亚洲三区_精品国产乱码久久久久久密桃99_日本久久久久一级毛片_黑色正能量最新入库_中文字幕永久视频 | 成年人免费大片_久久精品这里只有精品_日韩草逼_亚洲综合视频在线_男人天堂视频在线观看_欧洲成人在线_日韩一区二区精品_黄色毛片免费进入 | 视频二区一区_内射人妻无套中出无码_扒开双腿猛进入在线观看_日本黄色片免费观看_国产性色AV免费观看_亚洲欧美国产另类视频_jizz日本亚洲少妇_日本毛片高清免费视频 | 337P中国人体啪啪_亚洲另类色区欧美日韩图片_成人视频在线观看_国产视频九九_秋霞鲁丝片无码一区二区_欧洲亚洲另类一区在线观看_亚洲成人高清av_亚洲国产成人精品无码区2021 | 日韩在线观看中文字幕_99青娱乐_日韩黄色_a级毛片黄免费a级毛片_欧美激情插插插_色情无码初拍人妻_91狠狠综合_亚洲四区在线 | CAOPORN国产精品免费视频_成人免费视频观看视频_亚洲高清在线看_黄色一级日本_成人va在线_日韩在线精品视频_2020久久超碰国产精品最新_云霸高清中文字幕第一页 | 无码人妻丰满熟妇精品区_51国产午夜免费福利视频_波多野结衣在线播放_99爱免费观看国语_欧美特级黄色_国产精品96久久久久久又黄又硬_欧美性战a久久久久久_欧美精品一区二区三区四区五区 | 激情视频91_成人免费视频软件网站_亚洲欧美色中文字幕在线_变态视频在线观看_欧洲日韩在线观看_久久久精品在线_亚洲天堂男人影院_看毛片网 | 久久www免费人成看片小草_国产卡一卡二卡乱码_噜啊噜在线成人A片观看_欧美一区3_欧美裸体XXXX_精品少妇一区二区三区在线视频_久草免费视_久久久国产成人一区二区 | 毛片无码免费无码播放_欧美福利片在线观看_沦为公交两奶头春药高潮迭起_亚洲精品无码一区二区三区污_九色porny91_办公室高h荡肉呻吟在线观看_亚洲精品一卡二卡三卡四卡2021_中文字幕第31页 | 夜夜操综合_亚洲美女高潮久久久久_免费在线看片网站_神马午夜精品_国产欧美日韩亚洲精品区_欧美日韩国产精品自在自线_精品亚洲aⅴ在线观看_在线视频wwww | 国产精品老熟女一区二区三区_69久久夜色精品国产69蝌蚪网_四虎永久在线精品免费一区二区_永久免费在线_精品国产一区二区三区国产区_天天天天天操_久久久久久AV无码免费网站_亚洲高清一区二 | 肥大bbwbbw的高潮_成人片又黄又爽免费视频_天天干天天弄_青青草国产一区二区_免费三级现频在线观看免费_色涩av_七龙珠z国语在线观看_精品爆乳一区二区三区无码AV | 午夜欧美一区二区三区免费观看_欧美日韩国产精品激情在线播放_亚洲美女一二三区_综合97_av人摸人人人澡人人超碰_93超碰国产大屁股_www午夜精品视频一区二区_日本tubesex人妻 | 中文字幕免费播放视频_BBBBBXXXXX精品_欧美色第一页_孕妇奶水仑乱A级毛片免费看_国产精品沙发午睡系列999_中文字幕日韩精品免费看_亚洲国产成人av在线_久久两性 | 久久精品视频网站_免费成人黄色网_超碰在线人人艹_av综合久久_亚州精品av久久久久久久影院_91亚·色_国产免费一级一级_成人av色 | 欧美日韩高清一区二区_www.se天堂_99国产精成人午夜视频一区二区_亚洲国产高清在线一区二区三区_久久婷婷五月综合色99啪_国产婷婷色一区二区三区在线_小尤奈无码视频_a4yy欧美一区二区三区 |