99热99这里只有精品6国产,亚洲中文字幕在线天天更新,在线观看亚洲精品国产福利片 ,久久久久综合网

歡迎加入QQ討論群258996829
麥子學(xué)院 頭像
蘋(píng)果6袋
6
麥子學(xué)院

Linux的文件系統(tǒng)有哪些類別?

發(fā)布時(shí)間:2017-05-09 00:49  回復(fù):0  查看:2506   最后回復(fù):2017-05-09 00:49  
本文和大家分享的主要是 linux文件系統(tǒng) 相關(guān)內(nèi)容,一起來(lái)看看吧,希望對(duì)大家學(xué)習(xí)使用這部分內(nèi)容有所幫助。
   1 、 linux 文件系統(tǒng)分配策略:
  塊分配 (blockallocation) 和擴(kuò)展分配 (extentallocation)
  塊分配:磁盤(pán)上的文件塊根據(jù)需要分配給文件,避免了存儲(chǔ)空間的浪費(fèi)。但當(dāng)文件擴(kuò)充時(shí),會(huì)造成文件中文件塊的不連續(xù),從而導(dǎo)致過(guò)多的磁盤(pán)尋道時(shí)間。
  每一次文件擴(kuò)展時(shí),塊分配算法就需要寫(xiě)入文件塊的結(jié)構(gòu)信息,也就是 meta-dada 。 meta-data 總是與文件一起寫(xiě)入存儲(chǔ)設(shè)備,改變文件的操作要等到所有 meta-data 的操作都完成后才能進(jìn)行,因此, meta-data 的操作會(huì)明顯降低整個(gè)文件系統(tǒng)的性能。
  擴(kuò)展分配:文件創(chuàng)建時(shí),一次性分配一連串連續(xù)的塊,當(dāng)文件擴(kuò)展時(shí),也一次分配很多塊。 meta-data 在文件創(chuàng)建時(shí)寫(xiě)入,當(dāng)文件大小沒(méi)有超過(guò)所有已分配文件塊大小時(shí),就不用寫(xiě)入 meta-data ,直到需要再分配文件塊的時(shí)候。
  擴(kuò)展分配采用成組分配塊的方式,減少了 SCSI 設(shè)備寫(xiě)數(shù)據(jù)的時(shí)間,在讀取順序文件時(shí)具有良好的性能,但隨機(jī)讀取文件時(shí),就和塊分配類似了。
  文件塊的組或塊簇 (blockcluster) 的大小是在編譯時(shí)確定的。簇的大小對(duì)文件系統(tǒng)的性能有很大的影響。
  注: meta-data 元信息:和文件有關(guān)的信息,比如權(quán)限、所有者以及創(chuàng)建、訪問(wèn)或更改時(shí)間等。
   2 、文件的記錄形式
   linux 文家系統(tǒng)使用索引節(jié)點(diǎn) (inode) 來(lái)記錄文件信息。索引節(jié)點(diǎn)是一種數(shù)據(jù)結(jié)構(gòu),它包含了一個(gè)文件的長(zhǎng)度、創(chuàng)建及修改時(shí)間、權(quán)限、所屬關(guān)系、磁盤(pán)中的位置等信息。
  一個(gè)文件系統(tǒng)維護(hù)了一個(gè)索引節(jié)點(diǎn)的數(shù)組,每個(gè)文件或目錄都與索引節(jié)點(diǎn)數(shù)組中的唯一的元素對(duì)應(yīng)。每個(gè)索引節(jié)點(diǎn)在數(shù)組中的索引號(hào),稱為索引節(jié)點(diǎn)號(hào)。
   linux 文件系統(tǒng)將文件索引節(jié)點(diǎn)號(hào)和文件名同時(shí)保存在目錄中,所以,目錄只是將文件的名稱和它的索引節(jié)點(diǎn)號(hào)結(jié)合在一起的一張表,目錄中每一對(duì)文件名稱和索引節(jié)點(diǎn)號(hào)稱為一個(gè)連接。
  對(duì)于一個(gè)文件來(lái)說(shuō),有一個(gè)索引節(jié)點(diǎn)號(hào)與之對(duì)應(yīng);而對(duì)于一個(gè)索引節(jié)點(diǎn)號(hào),卻可以對(duì)應(yīng)多個(gè)文件名。
  連接分為軟連接和硬連接,其中軟連接又叫符號(hào)連接。
  硬連接:原文件名和連接文件名都指向相同的物理地址。目錄不能有硬連接;硬連接不能跨文件系統(tǒng) ( 不能跨越不同的分區(qū) ) ,文件在磁盤(pán)中只有一個(gè)拷貝。
  由于刪除文件要在同一個(gè)索引節(jié)點(diǎn)屬于唯一的連接時(shí)才能成功,因此硬連接可以防止不必要的誤刪除。
  軟連接:用 ln-s 命令建立文件的符號(hào)連接。符號(hào)連接是 linux 特殊文件的一種,作為一個(gè)文件,它的數(shù)據(jù)是它所連接的文件的路徑名。沒(méi)有防止誤刪除的功能。
   3 、 linux 文件系統(tǒng)分類:
   ext2 :早期 linux 中常用的文件系統(tǒng)
   ext3 ext2 的升級(jí)版,帶日志功能
   RAMFS :內(nèi)存文件系統(tǒng),速度很快
   NFS :網(wǎng)絡(luò)文件系統(tǒng),由 SUN 發(fā)明,主要用于遠(yuǎn)程文件共享
   MS-DOS MS-DOS 文件系統(tǒng)
   VFAT Windows95/98 操作系統(tǒng)采用的文件系統(tǒng)
   FAT WindowsXP 操作系統(tǒng)采用的文件系統(tǒng)
   NTFS WindowsNT/XP 操作系統(tǒng)采用的文件系統(tǒng)
   HPFS OS/2 操作系統(tǒng)采用的文件系統(tǒng)
   PROC: 虛擬的進(jìn)程文件系統(tǒng)
   ISO9660 :大部分光盤(pán)所采用的文件系統(tǒng)
   ufsSun:OS 所采用的文件系統(tǒng)
   NCPFS Novell 服務(wù)器所采用的文件系統(tǒng)
   SMBFS Samba 的共享文件系統(tǒng)
   XFS :由 SGI 開(kāi)發(fā)的先進(jìn)的日志文件系統(tǒng),支持超大容量文件
   JFS IBM AIX 使用的日志文件系統(tǒng)
   ReiserFS: 基于平衡樹(shù)結(jié)構(gòu)的文件系統(tǒng)
   udf: 可擦寫(xiě)的數(shù)據(jù)光盤(pán)文件系統(tǒng)
   4 、虛擬文件系統(tǒng) VFS
   linux 支持的所有文件系統(tǒng)稱為邏輯文件系統(tǒng),而 linux 在傳統(tǒng)的邏輯文件系統(tǒng)的基礎(chǔ)上增加料一個(gè)蓄念文件系統(tǒng) (VitualFileSystem,VFS) 的接口層。虛擬文件系統(tǒng) (VFS) 位于文件系統(tǒng)的最上層,管理各種邏輯文件系統(tǒng),并可以屏蔽各種邏輯文件系統(tǒng)之間的差異,提供統(tǒng)一文件和設(shè)備的訪問(wèn)接口。
   5 、文件的邏輯結(jié)構(gòu)
  文件的邏輯結(jié)構(gòu)可分為兩大類:字節(jié)流式的無(wú)結(jié)構(gòu)文件和記錄式的有結(jié)構(gòu)文件。
  由字節(jié)流(字節(jié)序列)組成的文件是一種無(wú)結(jié)構(gòu)文件或流式文件,不考慮文件內(nèi)部的邏輯結(jié)構(gòu),只是簡(jiǎn)單地看作是一系列字節(jié)的序列,便于在文件的任意位置添加內(nèi)容。
  由記錄組成的文件稱為記錄式文件,記錄是這種文件類型的基本信息單位,記錄式文件通用于信息管理。
   6 、文件類型
  普通文件:通常是流式文件
  目錄文件:用于表示和管理系統(tǒng)中的全部文件
  連接文件:用于不同目錄下文件的共享
  設(shè)備文件:包括塊設(shè)備文件和字符設(shè)備文件,塊設(shè)備文件表示磁盤(pán)文件、光盤(pán)等,字符設(shè)備文件按照字符操作終端、鍵盤(pán)等設(shè)備。
  管道 (FIFO) 文件 : 提供進(jìn)程建通信的一種方式
  套接字 (socket) 文件:該文件類型與網(wǎng)絡(luò)通信有關(guān)
   7 、文件結(jié)構(gòu):
  包括索引節(jié)點(diǎn)和數(shù)據(jù)
  索引節(jié)點(diǎn):又稱 I 節(jié)點(diǎn),在文件系統(tǒng)結(jié)構(gòu)中,包含有關(guān)相應(yīng)文件的信息的一個(gè)記錄,這些信息包括文件權(quán)限、文件名、文件大小、存放位置、建立日期等。文件系統(tǒng)中所有文件的索引節(jié)點(diǎn)保存在索引節(jié)點(diǎn)表中。
  數(shù)據(jù):文件的實(shí)際內(nèi)容??梢允强盏?,也可以非常大,并且擁有自己的結(jié)構(gòu)。
   8 、 ext2 文件系統(tǒng)
   ext2 文件系統(tǒng)的數(shù)據(jù)塊大小一般為 1024B 、 2048B 4096B
   ext2 文件系統(tǒng)采用的索引節(jié)點(diǎn) (inode) :索引節(jié)點(diǎn)采用了多重索引結(jié)構(gòu),主要體現(xiàn)在直接指針和 3 個(gè)間接指針。直接指針包含 12 個(gè)直接指針塊,它們直接指向包含文件數(shù)據(jù)的數(shù)據(jù)塊,緊接在后面的 3 個(gè)間接指針是為了適應(yīng)文件的大小變化而設(shè)計(jì)的。
   e.g :假設(shè)數(shù)據(jù)塊大小為 1024B ,利用 12 個(gè)直接指針,可以保存最大為 12KB 的文件,當(dāng)文件超過(guò) 12KB 時(shí),則要利用單級(jí)間接指針,該指針指向的數(shù)據(jù)塊保存有一組數(shù)據(jù)塊指針,這些指針依次指向包含有實(shí)際數(shù)據(jù)的數(shù)據(jù)塊,假如每個(gè)指針占用 4B ,則每個(gè)單級(jí)指針數(shù)據(jù)塊可保存 1024/4 256 個(gè)數(shù)據(jù)指針,因此利用直接指針和單級(jí)間接指針可保存 1024*12 1024*256 268KB 的文件。
  當(dāng)文件超過(guò) 268KB 時(shí),再利用二級(jí)間接指針,直到使用三級(jí)間接指針。利用直接指針、單級(jí)間接指針、二級(jí)間接指針、三級(jí)間接指針可保存的最大文件大小為: 1024*12+1024*256+1024*256*256+1024*256*256*256 16843020KB ,約 16GB ,若數(shù)據(jù)塊大小為 2048B ,指針占 4B ,則最大文件大小為: 2048*12+2048*512+2048*512*512+2048*512*512*512 268,960,792KB 268GB
  若數(shù)據(jù)塊大小為 4096B ,指針占 4B ,則最大文件大小為: 4096*12+4096*1024+4096*1024*1024+4096*1024*1024*1024 4,299,165,744KB ,約 4TB
  注:命令 tune2fs-l/dev/sda5 可查看文件系統(tǒng), ext2 文件系統(tǒng)最大文件名長(zhǎng)度: 255 個(gè)字符
   ext2 文件系統(tǒng)的缺點(diǎn):
   ext2 在寫(xiě)入文件內(nèi)容的同時(shí)并沒(méi)有同時(shí)寫(xiě)入文件 meta-data ,其工作順序是先寫(xiě)入文件的內(nèi)容,然后等空閑時(shí)候才寫(xiě)入文件的 meta-data 。若發(fā)生意外,則文件系統(tǒng)就會(huì)處于不一致?tīng)顟B(tài)。在重新啟動(dòng)系統(tǒng)的時(shí)候, linux 會(huì)啟動(dòng) fsk(filesystemcheck) 的程序,掃描整個(gè)文件系統(tǒng)并試圖修復(fù),但不提供保證。
   9 、 ext3 文件系統(tǒng):
   ext3 基于 ext2 的代碼,所以磁盤(pán)格式與 ext2 相同,使用相同的元數(shù)據(jù)。
   ext2 文件系統(tǒng)無(wú)損轉(zhuǎn)化為 ext3 文件系統(tǒng): tune2fs-j/dev/sda6
  日志塊設(shè)備 (Journalingblockdevicelayer,JBD) 完成 ext3 文件系統(tǒng)日志功能。 JBD 不是 ext3 文件系統(tǒng)所特有的,它的設(shè)計(jì)目標(biāo)是為了向一個(gè)塊設(shè)備添加日志功能。當(dāng)一個(gè)文件修改執(zhí)行時(shí), ext3 文件系統(tǒng)代碼將通知 JBD ,稱為一個(gè)事務(wù) (transaction) 。發(fā)生意外時(shí),日志功能具有的重放功能,能重新執(zhí)行中斷的事務(wù)。
  日志中的 3 種數(shù)據(jù)模式:
   1)data=writeback :不處理任何形式的日志數(shù)據(jù),給用戶整體上的最高性能
   2)data=odered :只記錄元數(shù)據(jù)日志,但將元數(shù)據(jù)和數(shù)據(jù)組成一個(gè)單元稱為事務(wù) (transaction) 。此模式保持所句句的可靠性與文件系統(tǒng)的一致性,性能遠(yuǎn)低于 data=writeback 模式,但比 data=journal 模式快
   3)data=journal :提供完整的數(shù)據(jù)及元數(shù)據(jù)日志,所有新數(shù)據(jù)首先被寫(xiě)入日志,然后才被定位。意外發(fā)生過(guò)后,日志可以被重放,將數(shù)據(jù)與元數(shù)據(jù)帶回一致?tīng)顟B(tài)。這種模式整體性能最慢,但數(shù)據(jù)需要從磁盤(pán)讀取和寫(xiě)入磁盤(pán)時(shí)卻是 3 種模式中最快的。
   ext3 文件系統(tǒng)最大文件名長(zhǎng)度: 255 個(gè)字符
   ext3 文件系統(tǒng)的優(yōu)點(diǎn):可用性、數(shù)據(jù)完整性、速度、兼容性
   10 ReiserFS 文件系統(tǒng)
   ReiserFS 文件系統(tǒng)是由 HansReiser 和他領(lǐng)導(dǎo)的開(kāi)發(fā)小組共同開(kāi)發(fā)的,整個(gè)文件系統(tǒng)完全是從頭設(shè)計(jì)的,是一個(gè)非常優(yōu)秀的文件系統(tǒng)。也是最早用于 Linux 的日志文件系統(tǒng)之一。
   ReiserFS 的特點(diǎn):先進(jìn)的日志機(jī)制
   ReiserFS 有先進(jìn)的日志 (Journaling/logging) 功能機(jī)制。日志機(jī)制保證了在每個(gè)實(shí)際數(shù)據(jù)修改之前,相應(yīng)的日志已經(jīng)寫(xiě)入硬盤(pán)。文件與數(shù)據(jù)的安全性有了很大提高。
  高效的磁盤(pán)空間利用
   Reiserfs 對(duì)一些小文件不分配 inode 。而是將這些文件打包,存放在同一個(gè)磁盤(pán)分塊中。而其它文件系統(tǒng)則為每個(gè)小文件分別放置到一個(gè)磁盤(pán)分塊中。
  獨(dú)特的搜尋方式。
   ReiserFS 基于快速平衡樹(shù) (balancedtree) 搜索,平衡樹(shù)在性能上非常卓越,這是一種非常高效的算法。 ReiserFS 搜索大量文件時(shí),搜索速度要比 ext2 快得多。 Reiserfs 文件系統(tǒng)使用 B*Tree 存儲(chǔ)文件,而其它文件系統(tǒng)使用 B+Tree 樹(shù)。 B*Tree 查詢速度比 B+Tree 要快很多。 Reiserfs 在文件定位上速度非???。在實(shí)際運(yùn)用中, ReiserFS 在處理小于 4k 的文件時(shí),比 ext2 5 倍;帶尾文件壓縮功能(默認(rèn))的 ReiserFS ext2 文件系統(tǒng)多存儲(chǔ) 6% 的數(shù)據(jù)。
  支持海量磁盤(pán)
   ReiserFS 是一個(gè)非常優(yōu)秀的文件系統(tǒng),一直被用在高端 UNIX 系統(tǒng)上,可輕松管理上百 G 的文件系統(tǒng), ReiserFS 文件系統(tǒng)最大支持的文件系統(tǒng)尺寸為 16TB 。這非常適合企業(yè)級(jí)應(yīng)用中。
   linux 文件系統(tǒng)分類優(yōu)異的性能:由于它的高效存儲(chǔ)和快速小文件 I/O 特點(diǎn),使用 ReiserFs 文件系統(tǒng)的 PC ,在啟動(dòng) X 窗口系統(tǒng)時(shí),所花的時(shí)間要比在同一臺(tái)機(jī)器上使用 ext2 文件系統(tǒng)少 1/3 。另外, ReiserFS 文件系統(tǒng)支持單個(gè)文件尺寸為 4G 的文件,這為大型數(shù)據(jù)庫(kù)系統(tǒng)在 linux 上的應(yīng)用提供了更好的選擇。
來(lái)源:運(yùn)維部落
您還未登錄,請(qǐng)先登錄

熱門(mén)帖子

最新帖子

?