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

Linux文件系統(tǒng)類型引領(lǐng)入門

系統(tǒng) Linux
學(xué)習(xí)Linux文件系統(tǒng)類型,proc文件系統(tǒng)只存在內(nèi)存當(dāng)中,包含引導(dǎo)塊:在文件系統(tǒng)的開頭,超級塊:用于記錄文件系統(tǒng)的管理信息。

linux經(jīng)過長時間的發(fā)展,很多用戶都很了解Linux文件系統(tǒng)類型,這里我發(fā)表一下個人理解,和大家討論討論。很詳細地了解某個操作系統(tǒng)的實際工作方式是非常困難的,因為大多數(shù)操作系統(tǒng)的源代碼都是嚴格保密的。在以實際使用為目標(biāo)的操作系統(tǒng)中,讓任何人都可以自由獲取系統(tǒng)源代碼,無論目的是要了解、學(xué)習(xí)還是修改,這樣的系統(tǒng)并不多。本論文的主題就是這些少數(shù)操作系統(tǒng)中的一個:Linux。

Linux是一個性能穩(wěn)定、功能強大、效率高的操作系統(tǒng)。它在功能特性方面與Unix系統(tǒng)相似,同時又具有多任務(wù)、多用戶、多平臺等若干特性。Linux的源代碼是開放的,閱讀Linux源代碼,無疑是深入學(xué)習(xí)Linux的***方法。

文件系統(tǒng)是Linux操作系統(tǒng)的重要組成部分,Linux文件具有強大的功功能。文件系統(tǒng)中的文件是數(shù)據(jù)的集合,文件系統(tǒng)不僅包含著文件中的數(shù)據(jù)而且還有文件系統(tǒng)的結(jié)構(gòu),所有Linux 用戶和程序看到的文件、目錄、軟連接及文件保護信息等都存儲在其中。

Linux 最早的文件系統(tǒng)是Minix,但是專門為Linux 設(shè)計的文件系統(tǒng)——擴展文件系統(tǒng)第二版或EXT2被設(shè)計出來并添加到Linux中,這對Linux產(chǎn)生了重大影響。EXT2文件系統(tǒng)功能強大、易擴充、性能上進行了全面優(yōu)化優(yōu)化,也是現(xiàn)在所以Linux發(fā)布和安裝的標(biāo)準(zhǔn)文件系統(tǒng)類型。

每個實際文件系統(tǒng)從操作系統(tǒng)和系統(tǒng)服務(wù)中分離出來,它們之間通過一個接口層:虛擬文件系統(tǒng)或VFS來通訊。VFS使得Linux可以支持多個不同的文件系統(tǒng),每個表示一個VFS 的通用接口。由于軟件將Linux 文件系統(tǒng)的所有細節(jié)進行了轉(zhuǎn)換,所以Linux核心的其它部分及系統(tǒng)中運行的程序?qū)⒖吹浇y(tǒng)一的文件系統(tǒng)。Linux 的虛擬文件系統(tǒng)允許用戶同時能透明地安裝許多不同的文件系統(tǒng)。

Linux文件系統(tǒng)類型,作為一種特殊類型/proc文件系統(tǒng)只存在內(nèi)存當(dāng)中,而不占用外存空間。它以文件系統(tǒng)的方式為訪問系統(tǒng)內(nèi)核數(shù)據(jù)的操作提供接口。/proc文件系統(tǒng)是一個偽文件系統(tǒng),用戶和應(yīng)用程序可以通過/proc得到系統(tǒng)的信息,并可以改變內(nèi)核的某些參數(shù)。

Linux文件系統(tǒng)類型,EXT2文件系統(tǒng)、虛擬文件系統(tǒng)、/proc文件系統(tǒng)是三個具有代表性的文件系統(tǒng),本論文試圖通過對他們的分析來研究Linux文件系統(tǒng)機制。并且在分析這三種文件系統(tǒng)的基礎(chǔ)上對Linux文件系統(tǒng)操作進行了解、研究(本論文選取了open和 close兩種操作進行研究)。在第二部分中將介紹EXT2文件系統(tǒng);第三部分論述虛擬文件系統(tǒng)的特點;第四部分簡要介紹/proc文件系統(tǒng);***,介紹兩種具體文件系統(tǒng)操作的實現(xiàn)。

EXT2文件系統(tǒng)在Linux中普通文件和目錄文件保存在稱為塊物理設(shè)備的磁盤或者磁帶上。一套 Linux系統(tǒng)支持若干物理盤,每個物理盤可定義一個或者多個文件系統(tǒng)。(類比于微機磁盤分區(qū))。每個文件系統(tǒng)由邏輯塊的序列組成,一個邏輯盤空間一般劃分為幾個用途各不相同的部分,即引導(dǎo)塊、超級塊、inode區(qū)以及數(shù)據(jù)區(qū)等。

引導(dǎo)塊:在文件系統(tǒng)的開頭,通常為一個扇區(qū),其中存放引導(dǎo)程序,用于讀入并啟動操作系統(tǒng);超級塊:用于記錄文件系統(tǒng)的管理信息。特定的文件系統(tǒng)定義了特定的超級塊;inode區(qū)(索引節(jié)點):一個文件或目錄占據(jù)一個索引節(jié)點。***個索引節(jié)點是該文件系統(tǒng)的根節(jié)點。利用根節(jié)點,可以把一個文件系統(tǒng)掛在另一個文件系統(tǒng)的非葉節(jié)點上;數(shù)據(jù)區(qū):用于存放文件數(shù)據(jù)或者管理數(shù)據(jù)。

Linux最早引入的文件系統(tǒng)類型是MINIX。MINIX文件系統(tǒng)由MINIX操作系統(tǒng)定義,有一定的局限性,如文件名最長14個字符,文件最長64M字節(jié)。***個專門為Linux設(shè)計的文件系統(tǒng)是EXT(Extended File System),但目前流行最廣的是EXT2。

第二代擴展文件系統(tǒng)由Rey Card 設(shè)計,其目標(biāo)是為Linux 提供一個強大的可擴展文件系統(tǒng)。它同時也是Linux界中設(shè)計最成功的文件系統(tǒng)。通過VFS的超級塊(struct ext2_sb_info ext2_sb)可以訪問EXT2的超級塊,通過VFS的inode(struct ext2_inode_info ext2_i)可以訪問EXT2的inode。

文件系統(tǒng)EXT2的源代碼在/usr/src/linux/fs/ext2目錄下,它的數(shù)據(jù)結(jié)構(gòu)在文件/usr/src/linux/include/linux/ext2_fs.h以及同一目錄下的文件ext2_fs_i.h和ext2_fs_sb.h中定義。EXT2文件系統(tǒng)將它所占用的邏輯分區(qū)劃分成塊組(block group)。

EXT2文件系統(tǒng)邏輯分區(qū):

和很多文件系統(tǒng)一樣, EXT2 建立在數(shù)據(jù)被保存在數(shù)據(jù)塊中的文件內(nèi)這個前提下。這些數(shù)據(jù)塊長度相等且這個長度可以變化,某個EXT2 文件系統(tǒng)的塊大小在創(chuàng)建(使用mke2fs)時設(shè)置。每個文件的大小和剛好大于它的塊大小正數(shù)倍相等。如果塊大小為1024 字節(jié)而一個1025 字節(jié)長的文件將占據(jù)兩個1024 字節(jié)大小的塊。這樣你不得不浪費差不多一般的空間。我們通常需要在CPU 的內(nèi)存利用率和磁盤空間使用上進行折中。而大多數(shù)操作系統(tǒng),包括Linux 在內(nèi),為了減少CPU 的工作負載而被迫選擇相對較低的磁盤空間利用率。并不是文件中每個塊都包含數(shù)據(jù),其中有些塊被用來包含描敘此文件系統(tǒng)結(jié)構(gòu)的信息。EXT2通過一個 inode 結(jié)構(gòu)來描敘文件系統(tǒng)中文件并確定此文件系統(tǒng)的拓撲結(jié)構(gòu)。inode 結(jié)構(gòu)描敘文件中數(shù)據(jù)占據(jù)哪個塊以及文件的存取權(quán)限、文件修改時間及文件類型。EXT2 文件系統(tǒng)中的每個文件用一個inode 來表示且每個inode 有唯一的編號。文件系統(tǒng)中所有的inode都被保存在inode 表中。 EXT2 目錄僅是一個包含指向其目錄入口指針的特殊文件(也用inode表示)。

對文件系統(tǒng)而言文件僅是一系列可讀寫的數(shù)據(jù)塊。文件系統(tǒng)并不需要了解數(shù)據(jù)塊應(yīng)該放置到物理介質(zhì)上什么位置,這些都是設(shè)備驅(qū)動的任務(wù)。無論何時只要文件系統(tǒng)需要從包含它的塊設(shè)備中讀取信息或數(shù)據(jù),它將請求底層的設(shè)備驅(qū)動讀取一個基本塊大小整數(shù)倍的數(shù)據(jù)塊。EXT2 文件系統(tǒng)將它所使用的邏輯分區(qū)劃分成數(shù)據(jù)塊組。每個數(shù)據(jù)塊組將那些對文件系統(tǒng)完整性最重要的信息復(fù)制出來, 同時將實際文件和目錄看作信息與數(shù)據(jù)塊。為了發(fā)生災(zāi)難性事件時文件系統(tǒng)的修復(fù),這些復(fù)制非常有必要。

【編輯推薦】

  1. Linux廠商發(fā)布***操作系統(tǒng)Ubuntu 9.10
  2. linux腳本編寫基礎(chǔ)之珍藏
  3. 研討linux Emacs使用手冊
  4. 講述linux vi編輯器的基礎(chǔ)命令使用方法
  5. 講述linux脫機打印命令
責(zé)任編輯:薛輩輩 來源: linux
相關(guān)推薦

2019-08-27 18:28:54

Linux文件系統(tǒng)文件系統(tǒng)類型

2009-12-10 14:27:07

Linux操作系統(tǒng)

2021-05-31 06:10:14

Btrfs文件系統(tǒng)Linux

2011-01-13 14:10:30

Linux文件系統(tǒng)

2020-07-22 14:53:06

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

2021-06-06 16:55:22

Linux文件系統(tǒng)

2021-04-12 05:44:44

Linux文件系統(tǒng)

2017-03-13 13:55:53

Linux文件系統(tǒng)方法

2011-01-13 13:18:38

Linux網(wǎng)絡(luò)文件

2021-11-01 13:38:55

Linux文件系統(tǒng)

2009-12-14 13:14:57

2018-08-24 10:10:25

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

2019-09-20 10:04:45

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

2009-12-25 09:58:46

linux劃分文件系統(tǒng)

2009-12-22 15:12:33

Linux擴展文件系統(tǒng)

2021-05-31 07:50:59

Linux文件系統(tǒng)

2018-11-05 09:45:01

Linux文件系統(tǒng)命令

2011-01-11 10:29:35

Linux文件

2018-05-02 08:35:33

LinuxTripwire文件系統(tǒng)

2011-01-06 14:03:18

點贊
收藏

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