亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

Linux文件系統的設計

系統 1942 0

總論:

linux的文件系統設計非常優秀,總的來講有兩大部分,第一部分就是樹形的組織結構,第二部分就是vfs,樹形的組織結構組織了文件系統的表象,用戶非常方便的使用,而vfs是文件系統的實現機理,它處于內核態,不但實現了樹形結構的mount機制,并且還提供了一個統一的接口用來訪問設備。
一、Linux文件系統概述
1、Linux文件系統組織
Linux中使用樹來組織文件系統。整個文件系統構成了一顆樹,這棵樹以/為根。整個系統有且僅僅有這一顆文件樹。這棵樹描寫敘述了文件系統的拓撲結構,沒有不論什么文件系統的類型信息。
2、mount機制
linux使用mount機制擴展文件系統,使不同類型的文件系統能夠掛載在系統的文件樹的不論什么位置。mount機制使文件樹有了類型屬性,支持了不同類型的文件系統的掛載。
如圖所看到的。
Linux文件系統的設計
能夠看到假設不考慮掛載點,整個文件系統就是一棵樹,假設考慮了掛載點,這棵樹原來是嫁接而成的,能夠包括各種不同種類的文件系統。正如橋片擴展了總線一樣,掛載點擴展了文件樹,和擴展總線不同的是,隨意文件夾都能夠是掛載點,可是不是隨意芯片都是能夠作為橋的。(網橋/交換機擴展以太網也是一樣的道理,和mount機制更加相似一些,由于你僅僅須要插入一個多port網卡就能夠作為一個網橋了。)
3、mount機制的優點
mount能夠屏蔽文件系統的類型,全部類型的文件系統共享一棵樹,可是實現卻能夠不同樣。用戶進程能夠使用同樣的系統調用接口訪問全部的文件系統,而不必在意訪問的文件是什么類型的。mount機制使一棵文件樹得以多樣化,然而又能夠向用戶屏蔽這樣的多樣化。這樣的多樣化是通過vfs實現的。
4、單棵樹組織+mount擴展
Linux的文件系統和磁盤并不綁定,文件系統就是一棵樹,是一個虛擬的概念,沒有介質,沒有容量,沒有讀寫規則,唯獨在掛載(mount)發生的時候,也就是詳細的文件系統掛載的時候,某個掛載點才和介質建立聯系,然而此時對于文件系統來講仍然沒有容量的概念,容量不過掛載于此文件夾的磁盤設備的屬性,假設磁盤空間滿了,仍然能夠通過在此磁盤的一個文件夾上mount一個新的文件系統來解決,而新的文件系統在一塊新的磁盤上。
5、和Windows文件系統的對照
Windows顯式的分離了各種文件系統,盡管Windows在操作接口上也吸取了Unix中“一切皆文件”的思想。在接口級別,windows也使用同樣的API來訪問各類文件,比方ReadFile,WriteFile等,然而在操作級別,windows卻沒有實現一致性,在操作級別,windows的文件系統主要指以磁盤為介質的文件系統,因此windows沒有必要用一棵樹包括全部的文件,而是區分成了各個盤符,然而這樣的方式有個弊端,那就是不易擴展,由于單個盤符限制了容量,磁盤直接和文件系統綁定。因此,Windows不以單棵樹樹來組織文件系統,windows非常難用mount來擴展文件系統。
二、VFS概述
1、VFS
虛擬文件系統或者虛擬文件插口,叫做插口更合適,也是官方的叫法,vfs向上和用戶進程文件訪問系統調用接口,如open,read,write等,向下和詳細不同文件系統的實現接口,如read,write的不同實現。例如以下圖所看到的:

Linux文件系統的設計


2、VFS的重要性
VFS屏蔽了詳細文件的實現細節,向上提供統一的操作接口。通過VFS能夠實現隨意的文件系統,這些文件系統通過文件訪問系統調用都能夠訪問。在操作系統內核中,vfs是對離用戶態近期的一層,由于它的存在,linux的使用才變得方便。實際上,正是vfs實現了樹形的文件系統組織,然而vfs的作用還不止這些,設備的文件抽象也是通過vfs來實現的。
3、VFS舉例
3.1、procfs
3.2、sysfs
3.3、cpusetfs
3.4、ntfs
3.5、extX
3.6、隨意你想實現的。
須要做什么呢?僅僅須要在一大堆switch函數例程中實現你的邏輯就可以,就是說實現file_operations函數集合就可以。注意,在linux中,文件和存儲沒有必定關系,實際上沒有不論什么關系,也就是說linux中的文件有的不須要被存儲,比方proc文件夾中的文件,僅僅有在你read它的時候,數據才從內核出來,這個數據是內核邏輯提供的,而是可能實時變化,linux根本沒有必要在還有一個地方再存儲它。
4、一個重要結論
由于linux的樹形文件系統是全然抽象的,因此它不和不論什么介質進行綁定,僅存在于內核其中,內核僅僅要起來,這個虛擬的樹就存在了,僅僅是此時僅僅有樹根,然而linux此時卻能夠掛載隨意類型的文件系統到這個樹根,這樣就能夠實現非常方便的定制,linux能夠在initrd中掛載隨意文件系統到樹根,這是由于內核和文件系統是分離的概念,內核啟動并不依賴不論什么文件系統。

Linux文件系統的設計


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 久久久精品成人免费看 | 中国国产一国产一级毛片视频 | 成人网18免费网站 | 伊人久久国产精品 | 99久久免费中文字幕精品 | 欧做爰xxxⅹ性欧美大片孕妇 | 久久国产免费观看 | 福利院肉动漫视频在线观看 | 香蕉免费看一区二区三区 | 久久99亚洲精品久久 | www.色涩| 久久综合中文字幕一区二区三区 | 欧美影院一区二区三区 | 日本在线不卡免费视频一区 | 一本久久a久久精品亚洲 | 久久精品这里是免费国产 | 精品96在线观看影院 | 亚洲精品日韩在线一区 | 奇米第 | 久草视频免费在线播放 | 国产蜜汁tv福利在线 | 黄色毛片免费在线观看 | 日韩亚洲一区二区三区 | 思思久久99热这里只有精品66 | 色久影院 | 久99久热只有精品国产99 | 中文精品久久久久国产网站 | 国产成人精品免费视频大 | 九九国产精品 | 亚洲精品美女视频 | 国模和精品嫩模私拍视频 | 国产日韩欧美精品一区二区三区 | 日本欧美一区二区三区 | 国产精品人伦久久 | 国产精品情侣久久婷婷文字 | 欧美成人h| 亚洲小说春色综合另类网蜜桃 | 国产亚洲美女精品久久久 | 夜色私人影院永久入口 | 亚洲二三区| 国产高清免费午夜在线视频 |