linux文件系統基礎知識彙總
1、linux文件系統分配策略
塊分配( block allocation ) 和 擴展分配 ( extent allocation )
塊分配:磁盤上的文件塊根據需要分配給文件,避免了存儲空間的浪費。但當文件擴充時,會造成文件中文件塊的不連續,從而導致過多的磁盤尋道時間。
每一次文件擴展時,塊分配算法就需要寫入文件塊的結構信息,也就是 meta-dada 。meta-data總是與文件一起寫入存儲設備,改變文件的操作要等到所有meta-data的操作都完成後才能進行,
因此,meta-data的操作會明顯降低整個文件系統的性能。
擴展分配: 文件創建時,一次性分配一連串連續的塊,當文件擴展時,也一次分配很多塊。meta-data在文件創建時寫入,當文件大小沒有超過所有已分配文件塊大小時,就不用寫入meta-data,直到需要再分配文件塊的時候。
擴展分配採用成組分配塊的方式,減少了SCSI設備寫數據的時間,在讀取順序文件時具有良好的性能,但隨機讀取文件時,就和塊分配類似了。
文件塊的組或塊簇 ( block cluster) 的大小是在編譯時確定的。簇的大小對文件系統的性能有很大的影響。
注: meta-data 元信息:和文件有關的信息,比如權限、所有者以及創建、訪問或更改時間等。
2、文件的記錄形式
linux文家系統使用索引節點(inode)來記錄文件信息。索引節點是一種數據結構,它包含了一個文件的長度、創建及修改時間、權限、所屬關係、磁盤中的位置等信息。
一個文件系統維護了一個索引節點的數組,每個文件或目錄都與索引節點數組中的唯一的元素對應。每個索引節點在數組中的索引號,稱爲索引節點號。
linux文件系統將文件索引節點號和文件名同時保存在目錄中,所以,目錄只是將文件的名稱和它的索引節點號結合在一起的一張表,目錄中每一對文件名稱和索引節點號稱爲一個連接。
對於一個文件來說,有一個索引節點號與之對應;而對於一個索引節點號,卻可以對應多個文件名。
連接分爲軟連接和硬連接,其中軟連接又叫符號連接。
硬連接: 原文件名和連接文件名都指向相同的物理地址。目錄不能有硬連接;硬連接不能跨文件系統(不能跨越不同的分區),文件在磁盤中只有一個拷貝。
由於刪除文件要在同一個索引節點屬於唯一的連接時才能成功,因此硬連接可以防止不必要的誤刪除。
軟連接: 用 ln -s 命令建立文件的符號連接。符號連接是linux特殊文件的一種,作爲一個文件,它的數據是它所連接的文件的路徑名。沒有防止誤刪除的功能。
3、文件系統類型:
ext2 : 早期linux中常用的文件系統
ext3 : ext2的升級版,帶日誌功能
RAMFS : 內存文件系統,速度很快
NFS : 網絡文件系統,由SUN發明,主要用於遠程文件共享
MS-DOS : MS-DOS文件系統
VFAT : Windows 95/98 操作系統採用的文件系統
FAT : Windows XP 操作系統採用的文件系統
NTFS : Windows NT/XP 操作系統採用的文件系統
HPFS : OS/2 操作系統採用的文件系統
PROC : 虛擬的進程文件系統
ISO9660 : 大部分光盤所採用的文件系統
ufsSun : OS 所採用的文件系統
NCPFS : Novell 服務器所採用的文件系統
SMBFS : Samba 的共享文件系統
XFS : 由SGI開發的先進的日誌文件系統,支持超大容量文件
JFS :IBM的AIX使用的日誌文件系統
ReiserFS : 基於平衡樹結構的文件系統
udf: 可擦寫的數據光盤文件系統
4、虛擬文件系統VFS
linux支持的所有文件系統稱爲邏輯文件系統,而linux在傳統的邏輯文件系統的基礎上增加料一個蓄念文件系統( Vitual File System ,VFS) 的接口層。
虛擬文件系統(VFS) 位於文件系統的最上層,管理各種邏輯文件系統,並可以屏蔽各種邏輯文件系統之間的差異,提供統一文件和設備的訪問接口。
5、文件的邏輯結構
文件的`邏輯結構可分爲兩大類: 字節流式的無結構文件 和 記錄式的有結構文件。
由字節流(字節序列)組成的文件是一種無結構文件或流式文件 ,不考慮文件內部的邏輯結構,只是簡單地看作是一系列字節的序列,便於在文件的任意位置添加內容。
由記錄組成的文件稱爲記錄式文件 ,記錄是這種文件類型的基本信息單位,記錄式文件通用於信息管理。
6、文件類型
普通文件 : 通常是流式文件
目錄文件 : 用於表示和管理系統中的全部文件
連接文件 : 用於不同目錄下文件的共享
設備文件 : 包括塊設備文件和字符設備文件,塊設備文件表示磁盤文件、光盤等,字符設備文件按照字符操作終端、鍵盤等設備。
管道(FIFO)文件 : 提供進程建通信的一種方式
套接字(socket) 文件: 該文件類型與網絡通信有關
7、文件結構: 包括索引節點和數據
索引節點 : 又稱 I 節點,在文件系統結構中,包含有關相應文件的信息的一個記錄,這些信息包括文件權限、文件名、文件大小、存放位置、建立日期等。文件系統中所有文件的索引節點保存在索引節點表中。
數據 : 文件的實際內容。可以是空的,也可以非常大,並且擁有自己的結構。
相關文章
-
Linux操作系統文件系統基礎知識
Linux操作系統誕生於1991 年10 月5 日(這是第一次正式向外公佈時間)。下面是小編收集的Linux操作系統文件系統基礎知識,希望大家認真閱讀! 一 、Linux文件結構文件結構是文件存放在磁盤等存貯設備上的組織方法。主 -
Linux認證基礎知識:linux操作系統目錄結構
linux 目錄結構/: 根目錄,一般根目錄下只存放目錄,不要存放文件,/etc、/bin、/dev、/lib、/sbin應該和根目錄放置在一個分區中/bin:/usr/bin: 可執行二進制文件的目錄,如常用的命令ls、tar、mv、cat等。/boot: 放置li -
Linux操作系統基礎知識
Linux就是一個操作系統,它可以管理整個計算機硬件,並且可以接收我們的指令,來指揮硬件完成相應的任務,並把結果反饋給我們。Linux操作系統基礎知識你瞭解多少呢? 下面是相關的知識,歡迎閱讀。 Linux操作系統概述Q1.什麼 -
Linux系統基礎知識:IO調度
IO調度發生在Linux內核的IO調度層。這個層次是針對Linux的整體IO層次體系來說的。從read()或者write()系統調用的角度來說,Linux整體IO體系可以分爲七層,它們分別是:VFS層:虛擬文件系統層。由於內核要跟多種文件系統打交 -
Linux操作系統基礎知識學習
Linux操作系統是基於UNIX操作系統發展而來的一種克隆系統,它誕生於1991 年的 [Linux桌面] 10 月5 日(這是第一次正式向外公佈的時間)。以後藉助於Inteet網絡,並通過全世界各地計算機愛好者的共同努力,已成爲今天世界上使 -
Linux認證基礎知識:Linux中正則表達式與文件處理
在學習Linux認證過程中,每個人會遇到每個人不同的問題,或小或大,真心希望同學們能少受些折磨,多得一些成就感與豁然開朗的感覺,這樣的學習才能化被動爲主動,越學越快樂。 一、正則表達式1.簡單的說正則表達式就是處理字 -
關於嵌入式Linux系統基礎知識
由於嵌入式系統只針對一項特殊的任務,設計人員能夠對它進行優化,減小尺寸降低成本。下面是小編收集的嵌入式Linux系統基礎知識,希望大家認真閱讀! 一、嵌入式Linux系統的構成1、硬件2、內核3、應用程序(形成根文件系 -
Linux操作系統基礎知識疑難解答
Linus Torvalds 先生帶來了兩次技術革新——第一次是開發出Linux內核,驅動了因特網,第二次是開發出Git,一種源代碼管理系統,被全世界開發者廣泛使用。下面是本站小編分享的一些相關資料,供大家參考。 Linux操 -
學習Linux操作系統必備基礎知識
Linux是一套免費使用和自由傳播的類Unix操作系統,下面小編來給大家介紹學習Linux操作系統必備基礎知識,希望對大家有幫助!Q1.什麼是GNU?Linux與GNU有什麼關係?A:1)GNU是GNU is Not Unix的遞歸縮寫,是自由軟件基金會(Free -
Linux認證系統管理:linuxmail命令發送郵件失敗
使用linux自帶的'郵件功能測試郵件發送功能如下:$ mail -s test sldkfjlskdjf[CTRL+D]cc:有時會出再提示:You have a new mail in /var/spool/mail/root並且在郵箱中看不到郵件;解決辦法:1.查看出錯的日誌$ tail -n 5