自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

什么是文件系統(tǒng)?它是用來(lái)做什么的?

系統(tǒng)
雖然文件系統(tǒng)經(jīng)常不被感知,但是文件系統(tǒng)卻是非常重要的。在Linux操作系統(tǒng)系統(tǒng)中文件系統(tǒng)是Linux內(nèi)核的四大子系統(tǒng)之一;而在Windows之前,微軟的DOS系統(tǒng),其全稱(chēng)是DiskOperatingSystem,也就是磁盤(pán)管理系統(tǒng),說(shuō)白了就是一個(gè)文件系統(tǒng)。

[[350471]]

 我們無(wú)時(shí)無(wú)刻不在使用文件系統(tǒng),進(jìn)行開(kāi)發(fā)的時(shí)候在使用文件系統(tǒng),瀏覽網(wǎng)頁(yè)的時(shí)候在使用文件系統(tǒng),玩手機(jī)的時(shí)候也在使用文件系統(tǒng)。

對(duì)于非專(zhuān)業(yè)人士來(lái)說(shuō),可能根本不知道文件系統(tǒng)為何物。因?yàn)椋ǔ?lái)說(shuō),我們?cè)谑褂梦募到y(tǒng)的時(shí)候一般不會(huì)感知到文件系統(tǒng)的存在。即使對(duì)于程序開(kāi)發(fā)人員,很多人對(duì)于文件系統(tǒng)也是一知半解。

雖然文件系統(tǒng)經(jīng)常不被感知,但是文件系統(tǒng)卻是非常重要的。在Linux操作系統(tǒng)系統(tǒng)中文件系統(tǒng)是Linux內(nèi)核的四大子系統(tǒng)之一;而在Windows之前,微軟的DOS系統(tǒng),其全稱(chēng)是DiskOperatingSystem,也就是磁盤(pán)管理系統(tǒng),說(shuō)白了就是一個(gè)文件系統(tǒng)。

刨根問(wèn)底文件系統(tǒng)

想要更加深入的理解文件系統(tǒng),首先要弄明白什么是文件系統(tǒng)。業(yè)界并沒(méi)有給文件系統(tǒng)下一個(gè)明確的定義,作者翻閱《操作系統(tǒng)概念》和《現(xiàn)代操作系統(tǒng)》等比較著名的操作系統(tǒng)書(shū)籍,并沒(méi)有找到關(guān)于文件系統(tǒng)的明確定義。在維基百科發(fā)現(xiàn)了對(duì)文件系統(tǒng)的如下描述:

 

  1. In computing, a file system or filesystem (often abbreviated to fs) controls how data is stored and retrieved. 

另外一個(gè)對(duì)文件系統(tǒng)概念進(jìn)行描述的地方是Definitions,這是一個(gè)專(zhuān)業(yè)提供各種定義的網(wǎng)站,給出了如下解釋?zhuān)?/p>

 

  1. In computing, a file system is a type of data store which can be used to store, retrieve and update a set of files. 

雖然我們沒(méi)有找到明確的定義,但從前面找到的對(duì)文件系統(tǒng)的描述可以知道文件系統(tǒng)是一個(gè)控制數(shù)據(jù)存取的系統(tǒng)。而通常我們所說(shuō)的文件系統(tǒng)是構(gòu)建在磁盤(pán)(含SSD盤(pán)和SD卡等)之上的。因此,我們通常所說(shuō)的文件系統(tǒng)其實(shí)就是一個(gè)對(duì)磁盤(pán)空間進(jìn)行管理,實(shí)現(xiàn)數(shù)據(jù)存取的系統(tǒng)。

狹義的理解文件系統(tǒng)實(shí)現(xiàn)對(duì)磁盤(pán)、軟盤(pán)或者光盤(pán)等塊設(shè)備的數(shù)據(jù)進(jìn)行存取,而廣義來(lái)說(shuō),文件系統(tǒng)未必需要構(gòu)建在磁盤(pán)之上,它還可以構(gòu)建在網(wǎng)絡(luò)或者內(nèi)存之上。無(wú)論構(gòu)建在那種設(shè)備上,最為核心的是實(shí)現(xiàn)對(duì)數(shù)據(jù)的存取。

除了實(shí)現(xiàn)對(duì)數(shù)據(jù)的存取之外,文件系統(tǒng)更重要的一個(gè)功能是文件系統(tǒng)抽象了一個(gè)更加容易訪問(wèn)存儲(chǔ)空間的接口。這里的接口包括用于程序開(kāi)發(fā)的API接口和普通用戶(hù)的操作接口。為了便于理解,我們可以將文件系統(tǒng)對(duì)磁盤(pán)空間的管理用圖1表示。

 

 

 

 

圖1 從磁盤(pán)到文件系統(tǒng)

對(duì)于上圖,我們簡(jiǎn)單的解釋一下。最底層是硬件設(shè)備,我們這里以硬磁盤(pán)為例。磁盤(pán)驅(qū)動(dòng)器和操作系統(tǒng)對(duì)硬磁盤(pán)做了很好的抽象,它們將復(fù)雜的硬磁盤(pán)抽象為一個(gè)連續(xù)的線性空間。最后是文件系統(tǒng),將線性空間進(jìn)行管理和抽象,呈現(xiàn)給用戶(hù)一個(gè)層級(jí)結(jié)構(gòu)。這里的層級(jí)結(jié)構(gòu)就是我們平常看到的目錄,子目錄和文件等元素的集合,如圖2所示。

 

 

 

 

圖2 文件系統(tǒng)實(shí)例

通過(guò)上面這張圖可能并不能很清楚的了解文件系統(tǒng)的層級(jí)結(jié)構(gòu)。我們給出Linux操作系統(tǒng)中文件系統(tǒng)的一個(gè)概圖,如圖3所示。通過(guò)該圖可以看出,文件系統(tǒng)中的數(shù)據(jù)呈現(xiàn)為一個(gè)樹(shù)形結(jié)構(gòu)。各個(gè)目錄與子目錄之間呈層級(jí)的結(jié)構(gòu)。

 

 

 

 

圖3 樹(shù)形結(jié)構(gòu)的文件系統(tǒng)

文件系統(tǒng)的數(shù)據(jù)管理

文件系統(tǒng)最核心的特性自然是數(shù)據(jù)管理了。這里的數(shù)據(jù)管理包括對(duì)整個(gè)磁盤(pán)的數(shù)據(jù)管理和對(duì)文件的數(shù)據(jù)管理兩部分。

對(duì)磁盤(pán)的管理主要是將磁盤(pán)劃分為不同的功能區(qū),最為簡(jiǎn)單的畫(huà)法就是分為元數(shù)據(jù)區(qū)和數(shù)據(jù)區(qū)。實(shí)際文件系統(tǒng)的處理要復(fù)雜一些,以Ext2為例,其將磁盤(pán)空間劃分為等大小的塊組,然后再對(duì)每個(gè)塊組進(jìn)行管理。

 

 

 

 

圖4 Ext2磁盤(pán)空間管理

在一個(gè)塊組中,最基礎(chǔ)的信息包含數(shù)據(jù)位圖,inode表位圖,inode表和數(shù)據(jù)區(qū)。對(duì)于磁盤(pán)空間的管理其實(shí)就是通過(guò)位圖來(lái)管理的,位圖用來(lái)標(biāo)志某塊數(shù)據(jù)是否已經(jīng)被使用的。當(dāng)然,不同的文件系統(tǒng)的管理略有不同,但原理大同小異。

另外一個(gè)比較重要的地方就是對(duì)文件數(shù)據(jù)的管理了。對(duì)于普通用戶(hù)來(lái)說(shuō)文件就是一個(gè)線性的數(shù)據(jù)空間,好比一個(gè)大數(shù)組。但是磁盤(pán)上可能無(wú)法提供這么大的空間。因此文件系統(tǒng)在管理文件的時(shí)候是將文件切割為一定大小的邏輯塊的。這樣,文件系統(tǒng)的做法是將文件的邏輯塊與磁盤(pán)的物理塊建立對(duì)應(yīng)關(guān)系。這樣,當(dāng)我們?cè)L問(wèn)文件某個(gè)位置的數(shù)據(jù)的時(shí)候就可以在磁盤(pán)上找到了。

 

 

 

 

經(jīng)過(guò)上述介紹,相信大家對(duì)文件系統(tǒng)有了一個(gè)概要的認(rèn)識(shí)。如果大家想更加深入的了解文件系統(tǒng)的細(xì)節(jié),可以進(jìn)一步閱讀本號(hào)的相關(guān)專(zhuān)欄。

 

責(zé)任編輯:姜華 來(lái)源: 今日頭條
相關(guān)推薦

2022-02-09 10:56:09

ReactJS組件前端

2020-09-07 19:45:37

Linux顯示服務(wù)器黑話(huà)解釋

2018-10-31 09:21:20

運(yùn)維互聯(lián)網(wǎng)監(jiān)控

2024-06-11 09:02:30

2022-07-17 15:59:02

人工智能面部識(shí)別野生動(dòng)物

2020-09-11 08:41:50

域名系統(tǒng)DNS網(wǎng)絡(luò)

2024-08-19 00:25:00

2019-09-06 09:05:25

TCP協(xié)議通信

2024-04-08 14:29:45

AI工廠數(shù)據(jù)中心

2024-09-03 10:15:21

2023-10-18 08:04:15

taskworker任務(wù)

2021-11-12 23:45:58

電腦配件回收

2023-07-03 14:36:07

物聯(lián)網(wǎng)IoT

2022-11-04 08:59:56

2020-11-12 18:36:21

防火墻WAF安全

2021-03-12 13:28:22

AIOT智聯(lián)網(wǎng)人工智能

2018-09-18 10:19:11

存儲(chǔ)硬件內(nèi)存

2012-06-08 09:16:16

操作系統(tǒng)

2022-11-22 11:30:53

2023-03-16 09:27:07

PUE電力數(shù)據(jù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)