fbpx
维基百科

文件系统

计算机文件系统是一种存储和组织计算机数据的方法,它使得对其存取和查找变得容易,文件系统使用文件树形目录的抽象逻辑概念代替了硬盘和光盘等物理设备使用数据块的概念,用户使用文件系统来保存数据不必关心数据实际保存在硬盘(或者光盘)的地址为多少的数据块上,只需要记住这个文件的所属目录和文件名。在写入新数据之前,用户不必关心硬盘上的那个块地址没有被使用,硬盘上的存储空间管理(分配和释放)功能由文件系统自动完成,用户只需要记住数据被写入到了哪个文件中。

文件系统通常使用硬盘光盘这样的存储设备,并维护文件在设备中的物理位置。但是,实际上文件系统也可能仅仅是一种访问资料的界面而已,实际的数据可能是通过网络协议(如NFSSMB9P等)提供的或者暂存于内存上,甚至可能根本沒有对应的文件(如proc文件系统)。

严格地说,文件系统是一套实现了数据的存储、分级组织、存取和获取等操作的抽象数据类型Abstract data type)。

概述

 
空闲空间示例:在每簇4,096字节的NTFS文件系统上,创建了100,000个文本文件,每个文件为5字节大小,逻辑字节总共500,000字节,但由于一个文件需独占整数倍个(最后一簇无论是否占满,仍会独占一整个簇),实际占用磁盘空间409,600,000字节(每个文件5字节独占一个簇)。另外用于生成前面文件的源文件和脚本程序文件逻辑字节共占59字节,但同样根据一个文件占整数倍个簇,所以还有额外的占用磁盘空间8192字节。

文件系统是一种用于向用户提供底层数据存取的机制。它将设备中的空间划分为特定大小的块(或者称为),一般每块512字节。数据存储在这些块中,大小被修正为占用整数个块。由文件系统软件来负责将这些块组织为文件和目录,并记录哪些块被分配给了哪个文件,以及哪些块没有被使用。

不过,文件系统并不一定只在特定存储设备上出现。它是数据的组织者和提供者,至于它的底层,可以是磁盘,也可以是其它动态生成数据的设备(比如网络设备)。

文件名

在文件系统中,文件名是用于定位存储位置。大多数的文件系统对文件名的长度有限制。在一些文件系统中,文件名是大小写不敏感(如“AAA”和“aaa”指的是同一个文件);在另一些文件系统中则大小写敏感。大多现今的文件系统允许文件名包含非常多的Unicode字符集的字符。然而在大多数文件系统的界面中,会限制某些特殊字符出现在文件名中。(文件系统可能会用这些特殊字符来表示一个设备、设备类型、目录前缀、或文件类型)然而,这些特殊的字符会允许存在于用双引号内的文件名。方便起见,一般不建议在文件名中包含特殊字符。

元数据(Metadata)

其它文件保存信息常常伴随着文件自身保存在文件系统中。文件长度可能是分配给这个文件的区块数,也可能是这个文件实际的字节数。文件最后修改时间也许记录在文件的时间戳中。有的文件系统还保存文件的创建时间,最后存取时间及属性修改时间。(不过大多数早期的文件系统不记录文件的时间信息)其它信息还包括文件设备类型(如:区块数,字符集,套接口,子目录等等),文件所有者的ID,组ID,还有存取权限(如:只读,可执行等等)。

安全访问

针对基本文件系统操作的安全访问可以通过访问控制列表capabilities英语capability (computers)实现。研究表明访问控制列表难以保证安全,这也就是研发中的文件系统倾向于使用capabilities的原因。然而目前多数商业性的文件系统仍然使用访问控制列表。

类型

磁盘文件系统

磁盘文件系统是一种设计用来利用数据存储设备来保存计算机文件的文件系统,最常用的数据存储设备磁盘驱动器,可以直接或者间接地连接到计算机上。例如:檔案配置表FAT12FAT16FAT32exFAT)、New Technology File System、<分層檔案系統HFS、HFS Plus>、延伸檔案系統(ext1、ext2ext3ext4)、ODSbtrfsXFSUFSZFS。有些文件系统是行程文件系统(也有译作日志文件系统)或者追踪文件系统英语Versioning file system

光碟

ISO 9660UDF被用於CDDVD藍光光碟

闪存文件系统

闪存文件系统是一种设计用来在闪存上储存文件的文件系统。随着移动设备的普及和闪存容量的增加,这类文件系统越来越流行。

尽管磁盘文件系统也能在闪存上使用,但闪存文件系统是闪存设备的首选,理由如下:

  • 擦除区块:闪存的区块在重新写入前必须先进行擦除。擦除区块会占用相当可观的时间。因此,在设备空闲的时候擦除未使用的区块有助于提高速度,而写入数据时也可以优先使用已经擦除的区块。
  • 随机访问:由于在磁盘上寻址有很大的延迟,磁盘文件系统有针对寻址的优化,以尽量避免寻址。但闪存没有寻址延迟。
  • 写入平衡(Wear levelling):闪存中经常写入的区块往往容易损坏。闪存文件系统的设计可以使数据均匀地写到整个设备。

日志文件系统具有闪存文件系统需要的特性,这类文件系统包括JFFS2YAFFS。也有为了避免日志频繁写入而导致闪存寿命衰减的非日志文件系统,如exFAT


数据库文件系统

文件管理方面的一个新概念是一种基于数据库的文件系统的概念。不再(或者不仅仅)使用分层结构管理,文件按照他们的特征进行区分,如文件类型、专题、作者或者亚数据进行区分。于是文件检索就可以按照SQL风格甚至自然语言风格进行。

例如BFS[1]WinFS

网络文件系统

网络文件系统(NFS,Network File System)是一种将远程主机上的分区(目录)经网络挂载到本地系统的一种机制。


与操作系统的关系

DOS / Microsoft Windows支援的檔案系统

 
Windows的command shell下使用DIR命令去顯示C:\Temp資料夾
Windows FAT12/FAT16 FAT32/VFAT FAT64/exFAT NTFS
Windows 3.x或更早
(MS-DOS 6.22)
(PC-DOS 7.0)
可讀/可寫 不支援 不支援 不支援
Windows 95 可讀/可寫 不支援 不支援 不支援
Windows 95(OSR2以後)
Windows 98(含SE)
ME
可讀/可寫 可讀/可寫 不支援 不支援
Windows NT 4.0 及以前 可讀/可寫 不支援 不支援 可讀/可寫
2000
Windows XP
Windows Vista
Server 2003
Server 2008 (R2)
Windows 7
Windows 8
Server 2012 (R2)
Windows 8.1

Windows 10

可讀/可寫 可讀/可寫 可讀/可寫 可讀/可寫
Windows CE 可讀/可寫 可讀/可寫 可讀/可寫 不支援

注意:除非NT4安裝了FAT32 For Windows NT 4.0否則该系统不支援FAT32

Linux支援的檔案系統

随着Linux的不断发展,它所支持的文件系统也在迅速扩充,Linux系统核心可以支持十多种文件系统类型:BtrfsJFSReiserFSexFATextext2ext3ext4XFSISO 9660MinixMSDOS、UMSDOS、VFATNTFS(Linux Kernel內建的NTFS驅動程式,寫入功能不穩定)、HPFSNFSSMB、SysV、PROC等。
注意:部分Linux发行版的Kernel預設不編譯Kernel內建的NTFS文件系统支援,常見的在Linux下讀寫NTFS的解决方法是安装NTFS-3G或ufsd等NTFS驱动程序。部分Linux发行版对NTFS的支援度並不高。

UNIX及BSD操作系统下的文件系统

柏克萊加州大學開發早期的伯克利快速文件系統(Berkeley Fast File System),再由各UNIX廠商開發不同的文件系统,包括IRIX上的XFS、IBM AIXJFS、HP HP-UNIX的VxFS、迪吉多Tru64的AdvFS[2]SolarisZFS

macOS(Mac OS X)的文件系统

从1998年到2016年间使用HFS+,再早採用HFS。从2016年发布的macOS Sierra起,使用苹果文件系统(APFS)。

Bell实验室的PLAN9文件系统

OpenVMS的文件系统

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

IBM大型机MVS的文件系统

参见

參考文獻

  1. ^ (英文) Giampaolo, Dominic. (PDF). Morgan Kaufmann. 1999 [2010-12-27]. ISBN 1-55860-497-9. (原始内容 (PDF)存档于2017-02-13). 
  2. ^ (英文) AdvFS內部設計文件(AdvFS Design Docs). SourceForge.net. [2010-12-27]. (原始内容于2020-06-02). 

文件系统, 此條目可参照英語維基百科相應條目来扩充, 若您熟悉来源语言和主题, 请协助参考外语维基百科扩充条目, 请勿直接提交机械翻译, 也不要翻译不可靠, 低品质内容, 依版权协议, 译文需在编辑摘要注明来源, 或于讨论页顶部标记, href, template, translated, page, html, title, template, translated, page, translated, page, 标签, 计算机的是一种存储和组织计算机数据的方法, 它使得对其存取和查找变得容易, 使用文件和树形. 此條目可参照英語維基百科相應條目来扩充 若您熟悉来源语言和主题 请协助参考外语维基百科扩充条目 请勿直接提交机械翻译 也不要翻译不可靠 低品质内容 依版权协议 译文需在编辑摘要注明来源 或于讨论页顶部标记 a href Template Translated page html title Template Translated page Translated page a 标签 计算机的文件系统是一种存储和组织计算机数据的方法 它使得对其存取和查找变得容易 文件系统使用文件和树形目录的抽象逻辑概念代替了硬盘和光盘等物理设备使用数据块的概念 用户使用文件系统来保存数据不必关心数据实际保存在硬盘 或者光盘 的地址为多少的数据块上 只需要记住这个文件的所属目录和文件名 在写入新数据之前 用户不必关心硬盘上的那个块地址没有被使用 硬盘上的存储空间管理 分配和释放 功能由文件系统自动完成 用户只需要记住数据被写入到了哪个文件中 文件系统通常使用硬盘和光盘这样的存储设备 并维护文件在设备中的物理位置 但是 实际上文件系统也可能仅仅是一种访问资料的界面而已 实际的数据可能是通过网络协议 如NFS SMB 9P等 提供的或者暂存于内存上 甚至可能根本沒有对应的文件 如proc文件系统 严格地说 文件系统是一套实现了数据的存储 分级组织 存取和获取等操作的抽象数据类型 Abstract data type 目录 1 概述 1 1 文件名 1 2 元数据 Metadata 1 3 安全访问 2 类型 2 1 磁盘文件系统 2 1 1 光碟 2 2 闪存文件系统 2 3 数据库文件系统 2 4 网络文件系统 3 与操作系统的关系 3 1 DOS Microsoft Windows支援的檔案系统 3 2 Linux支援的檔案系統 3 3 UNIX及BSD操作系统下的文件系统 3 4 macOS Mac OS X 的文件系统 3 5 Bell实验室的PLAN9文件系统 3 6 OpenVMS的文件系统 3 7 IBM大型机MVS的文件系统 4 参见 5 參考文獻概述 编辑 空闲空间示例 在每簇4 096字节的NTFS文件系统上 创建了100 000个文本文件 每个文件为5字节大小 逻辑字节总共500 000字节 但由于一个文件需独占整数倍个簇 最后一簇无论是否占满 仍会独占一整个簇 实际占用磁盘空间409 600 000字节 每个文件5字节独占一个簇 另外用于生成前面文件的源文件和脚本程序文件逻辑字节共占59字节 但同样根据一个文件占整数倍个簇 所以还有额外的占用磁盘空间8192字节 文件系统是一种用于向用户提供底层数据存取的机制 它将设备中的空间划分为特定大小的块 或者称为簇 一般每块512字节 数据存储在这些块中 大小被修正为占用整数个块 由文件系统软件来负责将这些块组织为文件和目录 并记录哪些块被分配给了哪个文件 以及哪些块没有被使用 不过 文件系统并不一定只在特定存储设备上出现 它是数据的组织者和提供者 至于它的底层 可以是磁盘 也可以是其它动态生成数据的设备 比如网络设备 文件名 编辑 在文件系统中 文件名是用于定位存储位置 大多数的文件系统对文件名的长度有限制 在一些文件系统中 文件名是大小写不敏感 如 AAA 和 aaa 指的是同一个文件 在另一些文件系统中则大小写敏感 大多现今的文件系统允许文件名包含非常多的Unicode字符集的字符 然而在大多数文件系统的界面中 会限制某些特殊字符出现在文件名中 文件系统可能会用这些特殊字符来表示一个设备 设备类型 目录前缀 或文件类型 然而 这些特殊的字符会允许存在于用双引号内的文件名 方便起见 一般不建议在文件名中包含特殊字符 元数据 Metadata 编辑 其它文件保存信息常常伴随着文件自身保存在文件系统中 文件长度可能是分配给这个文件的区块数 也可能是这个文件实际的字节数 文件最后修改时间也许记录在文件的时间戳中 有的文件系统还保存文件的创建时间 最后存取时间及属性修改时间 不过大多数早期的文件系统不记录文件的时间信息 其它信息还包括文件设备类型 如 区块数 字符集 套接口 子目录等等 文件所有者的ID 组ID 还有存取权限 如 只读 可执行等等 安全访问 编辑 针对基本文件系统操作的安全访问可以通过访问控制列表或capabilities 英语 capability computers 实现 研究表明访问控制列表难以保证安全 这也就是研发中的文件系统倾向于使用capabilities的原因 然而目前多数商业性的文件系统仍然使用访问控制列表 类型 编辑磁盘文件系统 编辑 磁盘文件系统是一种设计用来利用数据存储设备来保存计算机文件的文件系统 最常用的数据存储设备是磁盘驱动器 可以直接或者间接地连接到计算机上 例如 檔案配置表 FAT12 FAT16 FAT32 exFAT New Technology File System lt 分層檔案系統HFS HFS Plus gt 延伸檔案系統 ext1 ext2 ext3 ext4 ODS btrfs XFS UFS ZFS 有些文件系统是行程文件系统 也有译作日志文件系统 或者追踪文件系统 英语 Versioning file system 光碟 编辑 ISO 9660和UDF被用於CD DVD與藍光光碟 闪存文件系统 编辑 主条目 闪存文件系统 闪存文件系统是一种设计用来在闪存上储存文件的文件系统 随着移动设备的普及和闪存容量的增加 这类文件系统越来越流行 尽管磁盘文件系统也能在闪存上使用 但闪存文件系统是闪存设备的首选 理由如下 擦除区块 闪存的区块在重新写入前必须先进行擦除 擦除区块会占用相当可观的时间 因此 在设备空闲的时候擦除未使用的区块有助于提高速度 而写入数据时也可以优先使用已经擦除的区块 随机访问 由于在磁盘上寻址有很大的延迟 磁盘文件系统有针对寻址的优化 以尽量避免寻址 但闪存没有寻址延迟 写入平衡 Wear levelling 闪存中经常写入的区块往往容易损坏 闪存文件系统的设计可以使数据均匀地写到整个设备 日志文件系统具有闪存文件系统需要的特性 这类文件系统包括JFFS2和YAFFS 也有为了避免日志频繁写入而导致闪存寿命衰减的非日志文件系统 如exFAT 数据库文件系统 编辑 文件管理方面的一个新概念是一种基于数据库的文件系统的概念 不再 或者不仅仅 使用分层结构管理 文件按照他们的特征进行区分 如文件类型 专题 作者或者亚数据进行区分 于是文件检索就可以按照SQL风格甚至自然语言风格进行 例如BFS 1 和WinFS 网络文件系统 编辑 主条目 分散式檔案系統 网络文件系统 NFS Network File System 是一种将远程主机上的分区 目录 经网络挂载到本地系统的一种机制 与操作系统的关系 编辑DOS Microsoft Windows支援的檔案系统 编辑 在Windows的command shell下使用DIR命令去顯示C Temp資料夾 Windows FAT12 FAT16 FAT32 VFAT FAT64 exFAT NTFSWindows 3 x或更早 MS DOS 6 22 PC DOS 7 0 可讀 可寫 不支援 不支援 不支援Windows 95 可讀 可寫 不支援 不支援 不支援Windows 95 OSR2以後 Windows 98 含SE ME 可讀 可寫 可讀 可寫 不支援 不支援Windows NT 4 0 及以前 可讀 可寫 不支援 不支援 可讀 可寫2000Windows XPWindows VistaServer 2003Server 2008 R2 Windows 7Windows 8Server 2012 R2 Windows 8 1 Windows 10 可讀 可寫 可讀 可寫 可讀 可寫 可讀 可寫Windows CE 可讀 可寫 可讀 可寫 可讀 可寫 不支援注意 除非NT4安裝了FAT32 For Windows NT 4 0否則该系统不支援FAT32 Linux支援的檔案系統 编辑 随着Linux的不断发展 它所支持的文件系统也在迅速扩充 Linux系统核心可以支持十多种文件系统类型 Btrfs JFS ReiserFS exFAT ext ext2 ext3 ext4 XFS ISO 9660 Minix MSDOS UMSDOS VFAT NTFS Linux Kernel內建的NTFS驅動程式 寫入功能不穩定 HPFS NFS SMB SysV PROC等 注意 部分Linux发行版的Kernel預設不編譯Kernel內建的NTFS文件系统支援 常見的在Linux下讀寫NTFS的解决方法是安装NTFS 3G或ufsd等NTFS驱动程序 部分Linux发行版对NTFS的支援度並不高 UNIX及BSD操作系统下的文件系统 编辑 柏克萊加州大學開發早期的伯克利快速文件系統 Berkeley Fast File System 再由各UNIX廠商開發不同的文件系统 包括IRIX上的XFS IBM AIX的JFS HP HP UNIX的VxFS 迪吉多Tru64的AdvFS 2 及Solaris的ZFS macOS Mac OS X 的文件系统 编辑 从1998年到2016年间使用HFS 再早採用HFS 从2016年发布的macOS Sierra起 使用苹果文件系统 APFS Bell实验室的PLAN9文件系统 编辑 OpenVMS的文件系统 编辑 OpenVMS為Wang Mainframe所使用的Operation System 以搭配Wang王安博士發明的Magnetic Drum的儲存設備 IBM大型机MVS的文件系统 编辑参见 编辑扩展名參考文獻 编辑 英文 Giampaolo Dominic Practical File System Design with the Be File System PDF Morgan Kaufmann 1999 2010 12 27 ISBN 1 55860 497 9 原始内容 PDF 存档于2017 02 13 英文 AdvFS內部設計文件 AdvFS Design Docs SourceForge net 2010 12 27 原始内容存档于2020 06 02 取自 https zh wikipedia org w index php title 文件系统 amp oldid 74984932, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。