成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Linux的文件系統的基本原理及常見類型

系統 Linux
今天我們將對Linux下的文件系統進行整體的介紹,讓大家對文件系統有個概括的了解。

在計算機出現之前其實就有文件系統的概念了,此時的文件系統是指用于管理(存儲和檢索等)紙質文件的系統。計算機及發明后,文件系統逐漸專指用于管理存儲介質的系統。它通過簡單的接口給用戶,方便用戶使用存儲設備。

[[316692]]

Linux操作系統下的文件系統基本上也是如此。當我們進入Linux操作系統時,首先看到的是各種類型的目錄(參考一篇文章學會Linux系統目錄管理)和各種文件。Linux有個理念就是“一切皆文件”,在Linux操作系統中幾乎所有資源都是以文件的形式呈現的。比如磁盤是文件,套接字是文件,系統配置項也是文件。所有這些內容在Linux都是通過文件系統來管理的。

在操作系統中,文件系統的概念得到了延伸。Linux的文件系統分為兩類,一類是真實的文件系統,用于存儲數據;另一類是偽文件系統,這些文件系統并不會持久化數據。今天我們將對Linux下的文件系統進行整體的介紹,讓大家對文件系統有個概括的了解。

文件系統的使用

在Linux操作系統中文件系統的使用是非常簡單的。如果使用的是Ubuntu等有圖形界面的操作系統,那么我們可以通過GUI瀏覽文件系統。這個跟使用Windows和Mac OS操作系統很像。從用戶角度來看,文件系統的文件被組織成樹形結構。用戶可以自由的創建目錄和文件。

但是如果是命令行的系統,那么就沒有圖形界面方便了。但是,從組織形式上來說,也是樹形結構。只不過沒有那么直觀。如圖我們通過tree命令可以看到文件系統的內容及結構。

當然,上面說的都是文件系統已經掛載的場景。有些情況下我們有一個新的磁盤,但并沒有掛載,這個時候怎么才能使用這塊磁盤呢?方法也是非常簡單的,只需要做如下幾步:

  • 格式化磁盤,由于Linux支持很多種文件系統,我們在使用磁盤之前需要使用某種文件系統進行格式化。比如格式化為Ext4文件系統,mkfs.ext4 /dev/sdc。
  • 掛載文件系統,格式化后并不能馬上使用,需要掛載到目錄樹上才可以使用。具體命令是mount /dev/sdc /mnt/ext4_test。

完成上述步驟后,/mnt/ext4_test目錄就是新磁盤的根目錄了,我們可以在其中創建子目錄或者新文件了。從普通用戶的角度來看,它只是一個子目錄,并不會感知到其是一個新的磁盤,或者文件系統的具體類型。這一點與Windows有比較大的差異。

文件系統的基本原理

在操作系統層面,文件系統是其最關鍵的子系統之一,其核心功能是對存儲資源的管理。也就是說文件系統是對磁盤(還包括光盤或者磁帶等其它類型的存儲介質)的空間進行管理的。文件系統對磁盤空間的管理其實還是比較簡單的,就是將大的磁盤空間切割為很小的區域(例如4KB),然后通過對這些小區域的分配和釋放來使用磁盤空間。

雖然文件系統是一個樹形結構,但是磁盤本身的空間卻是一個扁平的線性存儲空間。以Ext4為例,文件系統將磁盤劃分為若干個塊組,每個塊組又劃分為若干磁盤塊(可以在格式化時指定,默認是1KB)。

為了管理這些磁盤塊,總是需要一些區域來記錄哪些磁盤塊已經被使用了,哪些還沒有被使用。記錄這些數據的數據通常在磁盤的特殊區域,我們稱這些數據為文件系統的元數據。通過這些元數據文件系統實現了對磁盤空間的管理,最終為用戶提供了簡單易用的接口(使用接口,非API)。

文件系統的分類

前文我們介紹了基于存儲介質的本地文件系統,對其基本原理也做了介紹。其實文件系統發展到現在,其種類也豐富多樣。比如基于磁盤的普通本地文件系統除了Ext4外,還包括XFS、ZFS和Btrfs等等。其中Btrfs和ZFS不僅僅可以管理一塊磁盤,還可以實現多塊磁盤的管理,同時實現數據的冗余管理,這樣可以避免磁盤故障導致的數據丟失。

另一個方面,除了對磁盤數據管理的文件系統外,還有一些網絡文件系統。也就是說,這些文件系統看似在本地,但其實數據是在遠程的專門的設備上。客戶端是通過一些網絡協議實現數據的傳輸的。比如NFS和GlusterFS等等文件系統。

幾十年的發展,文件系統的種類也非常多,我們沒有辦法一一進行介紹。今天我們就按照大類對主要的文件系統進行介紹,不足之處還請指教。

1. 本地文件系統

本地文件系統是對磁盤空間進行管理的文件系統。從呈現形態上來看,文件系統就是一個樹形的目錄結構。前面我們已經介紹了比較多的概念,其本質上就是實現對磁盤空間的管理,實現磁盤線性空間與目錄結構的轉換。

從普通用戶的角度來說,主要方便了對磁盤空的使用,降低了使用難度,提高了利用效率。常見的本地文件系統有Ext4、Btrfs、XFS和ZFS等等。

2. 偽文件系統

偽文件系統是對傳統文件系統的延伸。偽文件系統并不會持久化數據,而是在內存中的文件系統。它以文件系統的形態實現用戶與內核數據的交互。比如我們常見的偽文件系統包括proc、sysfs和configfs等等。

在Linux操作系統中偽文件系統主要實現內核與用戶態的交互。比如獲取IPv4協議的參數,我們只需要

3. 網絡(分布式)文件系統

網絡文件系統是一種將數據存儲在遠端的文件系統。網絡文件系統通常分為客戶端和服務端,其中客戶端類似本地文件系統,而服務端則是對數據進行管理的系統。網絡文件系統的使用與本地文件系統沒有任何差別,只需要執行mount命令掛載即可。網絡文件系統種類也很多,比如NFS、CephFS和Gluster等。

在用戶層面,完成掛載后的網絡文件系統與本地文件系統完全一樣,看不出任何差異,對用戶是透明的。網絡文件系統就好像將遠程的文件系統映射到了本地。

如圖是將文件系統服務中文件系統映射到客戶端的示意圖。從用戶的角度只是某個子目錄,但實際上讀寫請求需要通過網絡轉發到服務端進行處理。

4. 集群文件系統

集群文件系統也是一種本地文件系統。與普通本地文件系統的差異在于其后端磁盤通常是基于網絡的SAN設備,且在多個節點共享(非絕對)。集群文件系統可以實現多個節點對磁盤介質的共同訪問。

同時,對于集群文件系統來說,其最大的特點是多個結點可以同時為應用層提供文件系統服務。這種常見特別適合用于應用業務多活的場景,通過集群文件系統提供高可用集群機制,避免宕機造成的服務失效情況。

責任編輯:趙寧寧 來源: itworld123
相關推薦

2010-09-08 15:25:15

Linux系統分區

2010-06-18 17:28:37

Linux Anacr

2015-01-19 15:47:02

FCoE一體化

2012-01-12 14:37:34

jQuery

2010-08-20 13:29:33

OFDM

2013-04-07 14:09:55

Android應用基本

2020-03-21 14:57:14

手機定位智能手機APP

2010-03-17 13:35:02

2011-11-29 12:17:00

2009-02-24 09:43:00

IP電話原理

2020-11-26 13:54:03

容器LinuxDocker

2016-08-17 23:53:29

網絡爬蟲抓取系統

2021-02-08 21:40:04

SockmapBPF存儲

2019-11-28 10:45:28

ZooKeeper源碼分布式

2016-08-18 00:04:09

網絡爬蟲抓取系統服務器

2010-02-04 14:25:27

2009-12-22 15:39:36

IPPBX技術

2013-07-05 14:41:27

Android

2021-04-27 19:21:48

HBase原理開源

2010-09-15 15:48:09

CSS Hack
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美激情 亚洲 | 免费成人高清在线视频 | 久久中文字幕一区 | 日韩一区二区在线视频 | 一级免费视频 | 国产乱码精品一区二三赶尸艳谈 | 欧美一级久久 | 亚洲av毛片成人精品 | 久草院线 | av成人在线观看 | 久久久久久九九九九 | 99久久精品免费看国产四区 | 久久久久无码国产精品一区 | 国产精品一二三区 | 视频一二区 | 天堂久| 久久精品视频网站 | www.亚洲精品 | 日韩视频一区二区三区 | www.久久.com| 亚洲午夜av久久乱码 | 日韩中文一区二区三区 | 日韩免费高清视频 | 日本黄色大片免费 | 国产欧美精品一区二区色综合朱莉 | 福利视频网站 | www.伊人.com| 日韩福利 | 精品一区二区三区在线播放 | 中国美女一级黄色片 | 欧美极品在线播放 | 久久久xxx | 成人av一区| 国产一区免费 | 日韩欧美国产成人一区二区 | 色综合视频在线 | 久久久国产精品入口麻豆 | 一区二区三区av | 久久亚洲一区二区 | 国产高清精品在线 | 色视频www在线播放国产人成 |