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

假如讓你設計文件系統(tǒng)

系統(tǒng)
簡單來講文件系統(tǒng)就是用來管理文件和磁盤的,是用戶文件和磁盤之間的一個橋梁。文件系統(tǒng)要管理磁盤就要有管理的規(guī)則,所有的管理都要先分組,或者說要條帶化,然后按組進行組織管理。

[[421777]]

簡單來講文件系統(tǒng)就是用來管理文件和磁盤的,是用戶文件和磁盤之間的一個橋梁。

文件系統(tǒng)要管理磁盤就要有管理的規(guī)則,所有的管理都要先分組,或者說要條帶化,然后按組進行組織管理。

那按照什么粒度劃分呢?通常是以4KB為單位的對磁盤進行邏輯上的劃分,一個4k稱為一個block。文件系統(tǒng)就按照block為最小的管理單位進行磁盤管理。

劃分好了最小管理單元后就要對他們進行再分組,哪些block分到一個組里專門干一件事,也有可能一個組里就只有一個block。

這些組分別要做什么呢?想先想到的就是要有一個組用來放文件,那這個組就被稱為datablock。

除了存放文件,還要有一個組存放文件的大小、創(chuàng)建時間、文件存放在哪個block中等信息,這些信息被稱為meta data,而這個組被稱為inodes。

另外還要有一個組來記錄磁盤的整體情況,例如磁盤的大小、inodes的大小等,這個組被稱為superblock。

磁盤抽象化

于是就有了這么幾個組:bootblock,superblock,inodes,datablock。bootblock和引導有關,這里文件系統(tǒng)關系不大,下面首先看看superblock。

超級塊

superblock中包含了文件系統(tǒng)的meta data,文件系統(tǒng)中有多少個inodes和data blocks,標明是何種文件系統(tǒng)類型的magic number等都記錄在superblock中。

如何找到文件

要找到存放在datablock中的文件,就需要有個地方記錄文件的位置,這個記錄文件位置的東西叫做index node(索引節(jié)點),所有的indes node放到一個地方這個地方就是inodes。

所以inodes中就是存放了一條條的數(shù)據(jù),每條數(shù)據(jù)都對應datablock中的一個文件。除了具有指向文件所在block的指針外,還包括文件的mode、size、timestamps等。

如何找到目錄

通過index node可以找到文件,同樣可以找到目錄,index node中如果mode是目錄,那么所指向的block中就記錄的是一個目錄項(目錄數(shù)據(jù)塊)。

目錄項中就記錄了目錄中的所有文件名稱以及文件所在的index node編號。這樣就可以再去通過inodes中的index node去查詢文件以及下一級目錄了。

總結

現(xiàn)在文件系統(tǒng)的種類繁多,ext3、ext4、xfs等,他們的實現(xiàn)復雜,但是文件系統(tǒng)的原理很簡單,就是本文所講的幾個基本元素:文件data,查找文件的inode以及管理整個文件系統(tǒng)的superblock。

 

現(xiàn)在復雜的文件系統(tǒng)就是在這么一個設計思想上衍生出來的。關于文件系統(tǒng)的設計細節(jié)我們后面再具體介紹。

 

責任編輯:武曉燕 來源: 虛機
相關推薦

2022-03-05 18:25:51

SSLTLS協(xié)議

2017-11-27 06:01:37

數(shù)據(jù)庫中間件中間層

2017-11-30 08:56:14

數(shù)據(jù)庫中間件架構師

2013-01-07 10:29:31

大數(shù)據(jù)

2024-02-06 08:33:54

文件系統(tǒng)SSD

2020-07-22 14:53:06

Linux系統(tǒng)虛擬文件

2025-02-11 09:51:52

2011-01-13 14:10:30

Linux文件系統(tǒng)

2021-03-04 13:14:54

文件系統(tǒng)存儲

2018-08-24 10:10:25

Linux文件系統(tǒng)技術

2019-09-20 10:04:45

Linux系統(tǒng)虛擬文件

2020-12-23 13:22:14

Kubernetes設計網(wǎng)絡

2020-05-06 09:04:09

Python文件系統(tǒng)操作系統(tǒng)

2021-05-31 06:10:14

Btrfs文件系統(tǒng)Linux

2021-05-31 07:50:59

Linux文件系統(tǒng)

2013-05-27 14:46:06

文件系統(tǒng)分布式文件系統(tǒng)

2021-06-06 16:55:22

Linux文件系統(tǒng)

2021-04-12 05:44:44

Linux文件系統(tǒng)

2012-09-12 14:40:19

Lustre文件系統(tǒng)

2010-04-29 10:11:17

Unix系統(tǒng)
點贊
收藏

51CTO技術棧公眾號