HOME 首頁(yè)
SERVICE 服務(wù)產(chǎn)品
XINMEITI 新媒體代運(yùn)營(yíng)
CASE 服務(wù)案例
NEWS 熱點(diǎn)資訊
ABOUT 關(guān)于我們
CONTACT 聯(lián)系我們
創(chuàng)意嶺
讓品牌有溫度、有情感
專(zhuān)注品牌策劃15年

    VFS系統(tǒng)

    發(fā)布時(shí)間:2023-03-31 14:26:04     稿源: 創(chuàng)意嶺    閱讀: 139        當(dāng)前文章關(guān)鍵詞排名出租

    大家好!今天讓小編來(lái)大家介紹下關(guān)于VFS系統(tǒng)的問(wèn)題,以下是小編對(duì)此問(wèn)題的歸納整理,讓我們一起來(lái)看看吧。

    創(chuàng)意嶺作為行業(yè)內(nèi)優(yōu)秀的企業(yè),服務(wù)客戶(hù)遍布全球各地,相關(guān)業(yè)務(wù)請(qǐng)撥打電話(huà):175-8598-2043,或添加微信:1454722008

    文章目錄列表:

    VFS系統(tǒng)

    一、什么是虛擬文件系統(tǒng),linux系統(tǒng)文件系統(tǒng)

    1

    引言

    Linux

    中允許眾多不同的文件系統(tǒng)共存,如

    ext2,

    ext3,

    vfat

    等。通過(guò)使用同一套文件

    I/O

    系統(tǒng)

    調(diào)用即可對(duì)

    Linux

    中的任意文件進(jìn)行操作而無(wú)需考慮其所在的具體文件系統(tǒng)格式;更進(jìn)一步,對(duì)文件的

    操作可以跨文件系統(tǒng)而執(zhí)行。如圖

    1

    所示,我們可以使用

    cp

    命令從

    vfat

    文件系統(tǒng)格式的硬盤(pán)拷貝數(shù)據(jù)到

    ext3

    文件系統(tǒng)格式的硬盤(pán);而這樣的操作涉及到兩個(gè)不同的文件系統(tǒng)。

    1.

    跨文件系統(tǒng)的文件操作

    “一切皆是文件”是

    Unix/Linux

    的基本哲學(xué)之一。不僅普通的文件,目錄、字符設(shè)備、塊設(shè)備、

    套接字等在

    Unix/Linux

    中都是以文件被對(duì)待;它們雖然類(lèi)型不同,但是對(duì)其提供的卻是同一套操作界面。

    2.

    一切皆是文件

    而虛擬文件系統(tǒng)正是實(shí)現(xiàn)上述兩點(diǎn)

    Linux

    特性的關(guān)鍵所在。虛擬文件系統(tǒng)(Virtual

    File

    System,

    簡(jiǎn)稱(chēng)

    VFS),

    Linux

    內(nèi)核中的一個(gè)軟件層,用于給用戶(hù)空間的程序提供文件系統(tǒng)接口;同時(shí),它也提供了內(nèi)核中的一個(gè)

    抽象功能,允許不同的文件系統(tǒng)共存。系統(tǒng)中所有的文件系統(tǒng)不但依賴(lài)

    VFS

    共存,而且也依靠

    VFS

    協(xié)同工作。

    為了能夠支持各種實(shí)際文件系統(tǒng),VFS

    定義了所有文件系統(tǒng)都支持的基本的、概念上的接口和數(shù)據(jù)

    結(jié)構(gòu);同時(shí)實(shí)際文件系統(tǒng)也提供

    VFS

    所期望的抽象接口和數(shù)據(jù)結(jié)構(gòu),將自身的諸如文件、目錄等概念在形式

    上與VFS的定義保持一致。換句話(huà)說(shuō),一個(gè)實(shí)際的文件系統(tǒng)想要被

    Linux

    支持,就必須提供一個(gè)符合VFS標(biāo)準(zhǔn)

    的接口,才能與

    VFS

    協(xié)同工作。實(shí)際文件系統(tǒng)在統(tǒng)一的接口和數(shù)據(jù)結(jié)構(gòu)下隱藏了具體的實(shí)現(xiàn)細(xì)節(jié),所以在VFS

    層和內(nèi)核的其他部分看來(lái),所有文件系統(tǒng)都是相同的。圖3顯示了VFS在內(nèi)核中與實(shí)際的文件系統(tǒng)的協(xié)同關(guān)系。

    圖3.

    VFS在內(nèi)核中與其他的內(nèi)核模塊的協(xié)同關(guān)系

    我們已經(jīng)知道,正是由于在內(nèi)核中引入了VFS,跨文件系統(tǒng)的文件操作才能實(shí)現(xiàn),“一切皆是文件”

    的口號(hào)才能承諾。而為什么引入了VFS,就能實(shí)現(xiàn)這兩個(gè)特性呢?在接下來(lái),我們將以這樣的一個(gè)思路來(lái)切入

    文章的正題:我們將先簡(jiǎn)要介紹下用以描述VFS模型的一些數(shù)據(jù)結(jié)構(gòu),總結(jié)出這些數(shù)據(jù)結(jié)構(gòu)相互間的關(guān)系;然后

    選擇兩個(gè)具有代表性的文件I/O操作sys_open()和sys_read()來(lái)詳細(xì)說(shuō)明內(nèi)核是如何借助VFS和具體的文件系統(tǒng)打

    交道以實(shí)現(xiàn)跨文件系統(tǒng)的文件操作和承諾“一切皆是文件”的口號(hào)。

    二、怎樣完linux上vfs里面的文件系統(tǒng)祖冊(cè)

    c

    三、怎樣打開(kāi)vfs格式的文件啊

    你應(yīng)該先了解下什么是vfs

    VFS的作用就是采用標(biāo)準(zhǔn)的Unix系統(tǒng)調(diào)用讀寫(xiě)位于不同物理介質(zhì)上的不同文件系統(tǒng)。VFS是一個(gè)可以讓open()、read()、write()等系統(tǒng)調(diào)用不用關(guān)心底層的存儲(chǔ)介質(zhì)和文件系統(tǒng)類(lèi)型就可以工作的粘合層。

     Linux是一個(gè)非常優(yōu)秀的操作系統(tǒng),它是免費(fèi)的,而且很穩(wěn)定。 Linux所支持的文件系統(tǒng)高達(dá)十幾個(gè),除了為它量身打造的Ext2之外,它還支持了Minix,F(xiàn)AT,VFAT,NFS,NTFS…等等。

    所謂VFS就是Virtual File System虛擬文件系統(tǒng),也稱(chēng)為虛擬文件系統(tǒng)開(kāi)關(guān)(Virtual Filesystem Switch).

    這是Linux檔案系統(tǒng)對(duì)外的接口。任何要使用檔案系統(tǒng)的程序都必須經(jīng)由這層接口來(lái)使用它。

    VFS是一個(gè)異構(gòu)文件系統(tǒng)之上的軟件粘合層(注:有時(shí)也把VFS稱(chēng)為可堆疊的文件系統(tǒng)(Stackable Filesystem),因?yàn)閂FS可以無(wú)縫地使用多個(gè)不同類(lèi)型的文件系統(tǒng),就像把多個(gè)文件系統(tǒng)堆疊在一起一樣,故而得名)。通過(guò)VFS,可以為訪問(wèn)文件系統(tǒng)的系統(tǒng)調(diào)用提供一個(gè)統(tǒng)一的抽象接口。

    VFS最早由Sun公司提出以實(shí)現(xiàn)NFS(Network FileSystem,網(wǎng)絡(luò)文件系統(tǒng))。但是現(xiàn)在很多Unix系統(tǒng)都采用了VFS(包括Linux、FreeBSD、Solaris等)。

    Linux下的VFS:

    VFS的作用就是采用標(biāo)準(zhǔn)的Unix系統(tǒng)調(diào)用讀寫(xiě)位于不同物理介質(zhì)上的不同文件系統(tǒng)。VFS是一個(gè)可以讓open()、read()、write()等系統(tǒng)調(diào)用不用關(guān)心底層的存儲(chǔ)介質(zhì)和文件系統(tǒng)類(lèi)型就可以工作的粘合層。在古老的DOS操作系統(tǒng)中,要訪問(wèn)本地文件系統(tǒng)之外的文件系統(tǒng)需要使用特殊的工具才能進(jìn)行。而在Linux下,通過(guò)VFS,一個(gè)抽象的通用訪問(wèn)接口屏蔽了底層文件系統(tǒng)和物理介質(zhì)的差異性。

    每一種類(lèi)型的文件系統(tǒng)代碼都隱藏了實(shí)現(xiàn)的細(xì)節(jié)。因此,對(duì)于VFS層和內(nèi)核的其它部分而言,每一種類(lèi)型的文件系統(tǒng)看起來(lái)都是一樣的。

    在Linux中,VFS采用的是面向?qū)ο蟮木幊谭椒ā?

    四、磁盤(pán)格式化mkfs、mke2fs

    在完成磁盤(pán)分區(qū)的操作后,接著就需要對(duì)新建的分區(qū)進(jìn)行格式化,創(chuàng)建相應(yīng)的文件系統(tǒng)。在linux系統(tǒng)中我們通常借助mkfs和mke2fs這兩個(gè)命令來(lái)進(jìn)行以上操作。

    mkfs命令通常用于在設(shè)備硬件分區(qū)上創(chuàng)建linux文件系統(tǒng)。mkfs命令支持建立多種Linux文件系統(tǒng),如ext系列,xfs等等。實(shí)際上mkfs是支持多種文件系統(tǒng)構(gòu)建命令 mkfs. TYPE 的前部分,mkfs命令通常執(zhí)行的時(shí)候也是調(diào)用 mkfs. TYPE 來(lái)執(zhí)行,如mkfs.ext2,mkfs.vfs,mkfs.vfat等等。

    創(chuàng)建vfat系統(tǒng):

    創(chuàng)建ext4文件系統(tǒng)并指定卷標(biāo)為testdisk:

    mke2fs命令是專(zhuān)門(mén)用于管理ext系列文件系統(tǒng)的一個(gè)專(zhuān)門(mén)的工具。其還有像mkfs.ext2,mkfs.ext3,mkfs.ext4等衍生的命令,它們的用法mke2fs類(lèi)似,在系統(tǒng)man下它們的幫助手冊(cè)會(huì)直接跳轉(zhuǎn)mke2fs命令的幫助手冊(cè)。

    創(chuàng)建ext4文件系統(tǒng)并設(shè)置卷標(biāo)為testdisk:

    以上就是小編對(duì)于VFS系統(tǒng)問(wèn)題和相關(guān)問(wèn)題的解答了,如有疑問(wèn),可撥打網(wǎng)站上的電話(huà),或添加微信。


    推薦閱讀:

    VFS系統(tǒng)

    北京小花園景觀設(shè)計(jì)招聘(北京小花園景觀設(shè)計(jì)招聘網(wǎng))

    景觀設(shè)計(jì)公司怎么成為(景觀設(shè)計(jì)公司怎么成為國(guó)企)