文件系統


文件系統 (简体)

Free Web Hosting with Website Builder

電腦檔案系統是一種存儲和組織電腦檔案和資料的方法,它使得對其存取和尋找變得容易。檔案系統通常使用硬碟光碟這樣的存儲裝置,並維護檔案在裝置中的物理位置。但是,實際上檔案系統也可能僅僅是一種存取資料的介面而已,實際的資料是透過網路協定(如NFSSMB、9P等)提供的或者記憶體上,甚至可能根本不存在對應的檔案(如 proc檔案系統)。

嚴格地說, 檔案系統是一套實作了資料的存儲、分級組織、存取和獲取等操作的抽象資料型式

目錄

檔案系統概觀

檔案系統是一種用於向用戶提供底層資料存取的機制。它將裝置中的空間劃分為特定大小的塊(扇區),一般每塊512位元組。資料存儲在這些塊中,大小被修正為佔用整數個塊。由檔案系統軟體來負責將這些塊組織為檔案和目錄,並記錄哪些塊被分配給了哪個檔案,以及哪些塊沒有被使用。
不過,檔案系統並不一定只在特定存儲裝置上出現。它是資料的組織者和提供者,至於它的底層,可以是磁碟,也可以是其它動態生成資料的裝置(比如網路裝置)。

檔案名

不論檔案系統底層是不是存儲裝置,檔案系統都可以把資料組織為檔案及目錄的形式。檔案系統一般會把檔案名連結到某種檔案分配表中(MS-DOS的FAT檔案系統),或者連結到一個檔案鏈表的節點上(Unix-like檔案系統)。目錄可以是平的結構,也可以是分層式結構,後者可以在目錄中創建子目錄。
有的檔案系統中,檔案名是結構化的,帶有檔案名擴展資訊及版本號等;而另一些檔案系統里,檔案名只是一個簡單的字串,每個檔案的屬性資訊保存在其它地方。

檔案相關資料(Metadata)

其它檔案保存資訊常常伴隨著檔案自身保存在檔案系統中。檔案長度也許是分配給這個檔案的區塊數,也可能是這個檔案實際的位元組數。檔案最後修改時間也許記錄在檔案的時間戳中。有的檔案系統還保存檔案的創建時間,最後存取時間及屬性修改時間。(不過大多數早期的檔案系統不記錄檔案的時間資訊)其它資訊還包括檔案裝置型式(如:區塊數,字符集,套介面,子目錄等等),檔案所有者的ID,組ID,還有存取許可權(如:唯讀,可執行等等)。

檔案系統的型式

檔案系統的型式可以分為磁碟檔案系統、網路檔案系統和特殊檔案系統。

磁碟檔案系統

磁碟檔案系統是一種設計用來利用資料存儲裝置來保存電腦檔案的檔案系統,最常用的資料存儲裝置是磁碟機,可以直接或者間接地連線到電腦上。例如:FATNTFS、HFS、HFS+、ext2、ext3、ISO 9660、ODS-5和UDF。 有些檔案系統是行程檔案系統(也有譯作日誌檔案系統)或者追蹤檔案系統。

資料庫檔案系統

檔案管理方面的一個新概念是一種基於資料庫的檔案系統的概念。不再(或者不僅僅)使用分層結構管理,檔案按照他們的特徵進行區分,如檔案型式、專題、作者或者亞資料進行區分。於是檔案檢索就可以按照SQL風格甚至自然語言風格進行。
例如BFS和WinFS

事務檔案系統

網路檔案系統

特殊用途的檔案系統

與作業系統的關聯

DOS / Microsoft Windows 支援的檔案系統

Windows FAT(12/16) FAT(32/VFAT) NTFS
Windows 3.x 或更早
(MS-DOS 6.22)
(PC-DOS 7.0)
可讀/可寫 不支援 不支援
95 可讀/可寫 不支援 不支援
95(OSR2以後)
98(含SE)
ME
可讀/可寫 可讀/可寫 不支援
NT 可讀/可寫 不支援 可讀/可寫
2000
XP
Vista
Server 2003
Server 2008
可讀/可寫 可讀/可寫 可讀/可寫

注意:除非 NT 安裝了 FAT32 For Windows NT 4.0 否則 NT 是不支援 FAT32

Linux 支援的檔案系統

隨著Linux的不斷發展,它所支援的檔案格式系統也在迅速擴充。
Linux系統核心可以支援十多種檔案系統型式:
JFS、 ReiserFS、ext、ext2、ext3、ext4、ISO9660、XFS、Minx、MSDOS、UMSDOS、VFAT、NTFS、HPFS、NFS、 SMB、SysV、PROC等。

UNIX及BSD作業系統下的檔案系統

Mac OS X 的檔案系統

現在使用HSF+,之前採用HSF,未來可能採用Sun Microsystem的ZFS系統

Bell實驗室的PLAN9檔案系統

OpenVMS的檔案系統

OpenVMS為Wang Mainframe 所使用的Operation System,以搭配Wang王安博士發明的Magnetic Drum的儲存設備。

IBM大型機 MVS的檔案系統

參見







Why are we here?
All text is available under the terms of the GNU Free Documentation License
This page is cache of Wikipedia. History