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外包服務
二維碼 關閉
主站蜘蛛池模板: 国产网站久久_超碰99热_国产痴女资源在线不卡_欧美偷拍另类_av不卡免费_艹逼视频免费观看_国产精品一区二区三区成人_亚洲成年人在线 | 被仇人调教成禁脔h虐_国产成人午夜影院_亚洲精品伦理_3p少妇全程露脸过瘾呀_我的妺妺h伦浴室无码视频_欧洲尺码日本尺码专线不卡顿_玩弄少妇肉体到高潮动态图_国产精品岛国久久久久久久久红粉 | 精品亚洲一区二区_欧美一区=区_久久久乱码精品亚洲日韩mv_老司机久久一区二区三区_亚洲黑人在线观看_天天插狠狠干_国产a级大片_亚洲日韩中文第一精品 | 两个人看的视频WWW在线高清_人人妻人人澡人人爽不卡视频_无遮无码免费裸交视频_久久国产精品99久久久久_亚洲第一无码精品立川理惠_国产欧洲精品自在自线官方_一本一道波多野结衣一区_北条麻妃中文字幕 | aⅴ成年女人毛片免费观看_国产91视频一区_AV无码免费无禁网站_成人高清在线_亚洲精品成人片在线播放4388_国产精品福利久久久_国产精品一二三区久久狼_国产精品爱久久久久久久 | 国产精品免费看视频_少妇自慰流白口浆21p_日本免费一区二区三区高清视频_亚洲一区二区三区免费在线观看_粉嫩av一区二区老牛影视_免费a级毛片无码a∨免费软件_亚洲国产精品无码成人A片在线_欧洲一级在线观看 国产精品www_欧美久草_国产欧美亚洲精品第三页_在线无码成本人视频动漫_国产日韩精品综合网站_国产亚洲精品91在线_中文字幕av免费观看_亚洲性视屏 | 日本精品一区二区三区香蕉久久_亚洲人成网7777777国产_久草色视频在线观看_99久久国产综合精品女不卡_男女啪啪免费观看无遮挡_亚洲一区精品无码_手机在线免费av_色黄啪啪网18以下勿进 | 亚洲精品国产精品乱码不卞_国产露脸无码A区久久_美女高潮久久久_爱爱一区_日躁夜躁狠狠躁2020_亚洲jizzjizz妇女_亚洲aⅴ综合av国产八av_97国产影院 | 欧美A级毛欧美1级A大片_国产日韩欧美一区二区三区乱码_国产精品全国免费观看高清_在线观看中文无码最新视频_男同GAY片AV网站猛男调教_久久精品国产免费看久久精品_少妇富婆一区二区三区夜夜_青草在线视频 | 91cn国产在线_久久官网_日本爱爱网_亚洲女人久久久_天天操天天摸天天射_91蜜臀精品国产自偷在线_久久中文av_欧美精品videofree | 久久亚洲精品国产_250pp亚洲情艺中心在线_国产性在线观看_日韩av在线综合_av白浆_欧美二三区_日韩人妻熟女中文字幕_三级网址在线 | 狠狠操在线_日韩免费AV无线在码_国产夜色av_亚洲精品456在线播放第一页_99人妻熟女国产精品日韩资电话_在线观看www._午夜精品一区二区三区在线视频_国产免费成人av | 天天人人干_字幕专区码中文欧美在线_九色视频免费在线观看_日本又色又爽又黄的a片中文字幕_久久99精品国产麻豆婷婷洗澡_精品少妇一区二区三区免费观_动漫精品无码h在线观看_最近免费韩国日本HD中文字幕 | oidgrαnny日本老熟妇_毛茸茸xxxx毛茸茸_www.九九九_国产欧美综合一区二区三区_国产毛片毛片毛片毛片毛片_四虎免费影视_国产毛片一区二区三区_老熟女高潮一区二区三区 | 久久精品国内_亚洲欧美国产国产综合一区_亚洲精品mv在线观看_亚洲高清自拍_国产激情二区_亚洲VA在线VA天堂VA欧美VA_色久综合一二码_日韩aaaaaaa | 免费三级在线观看_国产精品久久毛片A片_扒插扒插_久久久久亚洲AV无码专区首JN_大地资源在线观看免费播放片_91精品成人久久_麻豆剧场_欧美日韩51精品 | 91色网址_91成人午夜_成人黄色小说视频_漂亮人妻被中出中文字幕_91九色性视频_亚洲日本网站_西门庆一级淫片免费放_91成人免费版 | 久久久久久伊人_天堂va_中文字幕av一区二区三区人_99久久亚洲精品蜜臀_麻豆产精国品免费入口_午夜免费大片_麻豆中文字幕在线观看_欧美阿v高清资源在线 | 婷婷综合缴情亚洲狠狠小说_日韩三级一区二区三区_办公室强伦片免费看_国产亚洲精品自在久久蜜TV_男人又大又硬又粗视频_国产suv精品一区二人妻_亚洲aa视频_国产美女一区 | 日本成本人三级在线观看_最近中文字幕免费mv2019在线_色爱综合网中文字幕第1页_综合网中文字幕_综合激情久久_caoporn超碰最新公开_久久久久久久久久久国产_日本特黄特色大片免费视频老年人 | 亚洲福利精品_精品国产经典三级在线看_国产免费网站在线观看_国产精品一区久久看_乱人伦中文字幕无码_国产精品人妻无码一区二区三区_又大又粗又爽又黄的少妇_草草影视CCYY国产日本 | 亚洲最新av网站_yy111111少妇影院_国产AV夜夜欢一区二区三区_成人1区2区_欧美日韩版_av中文无码乱人伦_亚洲精品深夜AV无码一区二区_国产麻豆 成人资源在线_无限动漫视频在线观看免费动漫_久久国产二区_美日韩一区二区_亚洲久久视频_少妇高潮呻吟在线观看_国产亚洲2021成人乱码_日本成人久久久 | 少妇88久久中文字幕_久久a级毛片免费观看_国产成人精品日本亚洲网站_在线观看av一区二区_色悠久久久久久久综合网_国产免费踩踏调教视频_xxxx另类黑人_涩涩婷婷 | 久久丫忘忧草产品_在线成人一区_精品久久久久久久久久_亚洲精品午夜_91骚片_最近2019中文字幕第二页_91视频麻豆_国产精品女A片爽爽波多野结衣 | 顶级少妇做爰高潮_91久久夜色精品国产按摩_色综合精品无码一区二区三区_国产精选一级毛片_亚洲中文有码字幕日本第一页_九九热在线观看_变态孕交videosgratis孕妇_日本少妇久久久 | 东京热无码av一区二区_蜜桃视频在线观看入口_中文字字幕在线乱码_国产乱子夫妻_国精品午夜福利视频不卡_男人的天堂日本_蜜芽国产成人精品区_久久嫩草影院免费看 欧美午夜寂寞影院_91精品欧美一区综合在线观看_中文字幕乱码亚洲无线码按摩_免费看片免费播放国产_精品视频二区_韩日a级片_日本XXXX色视频在线观看免费,_亚洲成av人影片在线观看 | 午夜精品福利视频_国产日韩欧美东南在线_日韩美国1级大片_99视频国产热精品_久草热精品_18无码粉嫩小泬无套在线观看_强壮的公次次弄得我高潮a片日本_亚洲伦理片在线观看 | 国产午夜亚洲精品_毛片久久久久_七级毛片_91在线麻豆_japanese佳佳丝袜足调教_精品一区二区三区av_男人的天堂久久久_欧美40老熟妇色xxxxx | 99精品偷拍视频一区二区三区_永久免费黄色_第一视角vk_日韩一级黄色大片_中文字幕高清视频_国产精品久久久久久久久绿色_婷婷久久久亚洲欧洲日产国码AV_国内精品久久久久精品 | 人人干人人爱_亚洲ⅴ欧洲第一的日产AV_极品少妇啪啪高清免费_一及黄色片_91视频免费在观看_亚洲欧美日韩自偷自拍_91在线网站_人人爽人人爽人人爽人人片av | 5566成人网_欧美性猛交xxxx乱大交免费看_亚洲成人系列_麻豆国产人妻精品无码AV_欧美AA大片免费观看视频_377人体裸体露私图片_欧美色综合一区二区三区_真实国产精品视频400部 欧美成人久久_精品国产AⅤ一区二区三区桃_无码欧亚熟妇人妻AV在线外遇_俺去啦久久草在线视频_延禧攻略在线_久久久久久久99精品免费观看_天堂久久久久VA久久久久_亚洲精品欧美视频 | 国内高清视频在线观看_永夜星河免费看_超碰公开免费_亚洲精品免费av_啦啦啦在线观看免费版中文_亚洲第一se情网站_亚洲AⅤ人片在线观看无_久久免费视频5 | 国产成人女人在线观看_超碰在线a_欧美一区二区在线看_欧美精品第十页_日韩av黄色网址_日本新janpanese乱熟_国内毛片免费看_色综合久久网 | 野花社区日本免费图片_国产成人福利在线一区_国产精品一区二区视频_天天天天操_国产永久免费观看_欧洲成人18片_日韩区一区二区三_麻豆最新国产AV原创精品 国产一区二区四区在线观看_亚洲欧洲日产国无高清码图片_97国产精品欲_精品国产女主播在线观看_一级免费a一片_在线观看黄的网站_avtom影院永久地址_毛片免费网站 | xxx欧美xxx_欧美性free玩弄少妇_女女互磨互喷水高潮les呻吟_亚洲人成视_亚洲一区二区三区久久_97SE亚洲国产综合自在线_日本熟妇人妻xxxx_国模精品视频一区二区 | 538国产精品一区二区在线_大陆av在线播放_麻豆传媒一区_91精品国产一区二区三区_亚洲艳妇_男女猛烈啪啪无遮挡激烈下香_久热在线观看视频_www·377黄·com | 伊人第一页_国产精品爆乳奶水无码视频免费_色偷偷亚洲天堂_狠狠综合久久综合88亚洲_亚洲国产的精品太乱码一区二区_国产一级强片在线观看av_日日噜噜夜夜狠狠久久丁香五月_国产成人无精品久久久久国语 | 国产SM调教视频在线观看_91精品国产91久久久_久操网在线视频_麻豆我和小性熟乱_暴力强奷在线播放无码_韩国三级爽野战_av一本一道_成年人免费观看网站 | 青青草视频偷拍_人人天天操_www·黄_人人射人人草_欧美精品在线一区二区三区_亚洲大片在线播放_国产伦精品一区二区三区视频黑人_www国产精品com | 国产精品亚洲А∨无码播放不卡_国产欧美日韩在线播放_狂野欧美xxxx韩国少妇_男人插女人免费视频_中文字幕在线播放一区_91.九色视频_青青青视频自偷自拍_亚洲成人综合网站 | 中国美女a级毛片_最新看片国产精品免费在线_国产女色_夜鲁鲁鲁夜夜综合视频欧美_中文字幕欧美日韩一区_大黄网站免费在线观看_久久99精品久久久97夜夜嗨_99久久精品免费播放 |