文件系统

✍ dations ◷ 2025-06-23 23:32:24 #文件系统

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

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

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

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

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

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

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

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

磁盘文件系统是一种设计用来利用数据存储设备来保存计算机文件的文件系统,最常用的数据存储设备是磁盘驱动器,可以直接或者间接地连接到计算机上。例如:文件配置表(FAT12、FAT16、FAT32、exFAT)、New Technology File System、<分层文件系统HFS、HFS Plus>、延伸文件系统(ext1、ext2、ext3、ext4)、ODS、btrfs、XFS、UFS、ZFS。有些文件系统是行程文件系统(也有译作日志文件系统)或者追踪文件系统(英语:Versioning file system)。

ISO 9660和UDF被用于CD、DVD与蓝光光盘。

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

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

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


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

例如BFS和WinFS。

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


Windows 10

注意:除非NT4安装了FAT32 For Windows NT 4.0否则该系统不支持FAT32

随着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的支持度并不高。

柏克莱加州大学开发早期的伯克利快速文件系统(Berkeley Fast File System),再由各UNIX厂商开发不同的文件系统,包括IRIX上的XFS、IBM AIX的JFS、HP HP-UNIX的VxFS、迪吉多Tru64的AdvFS及Solaris的ZFS。

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

OpenVMS为Wang Mainframe所使用的Operation System,以搭配Wang王安博士发明的Magnetic Drum的存储设备。

相关

  • 大清后宫《大清后宫》(英文:Concubines of the Qing Emperor),又名《大清后宫之还君明珠》,是2006年出品的一部共四十集的中国大陆电视连续剧,描述清朝道光年间后宫斗争的经过,素有港剧《金
  • 冲浪冲浪是一种冲浪者利用冲浪板越过涌起浪头激烈水上运动。主要的配备是冲浪板和系在脚上的安全绳。冲浪是波里尼西亚人的一项古老文化。他们的酋长是部落中技术最好的驾浪者、
  • 李蔼 (唐朝宗室)李蔼是唐朝宗室。唐代鲁王李灵夔次子。封范阳郡王,历官右散骑常侍。工书法。688年,越王李贞起兵反抗武则天,事泄,李灵夔被捕。李灵夔被流放振州、自杀。琅琊王李冲、越王李贞起
  • 维多利亚 (神话)维多利亚(英语:Victoria)古罗马神话职司“胜利”的女性神祇之一,对应希腊神话的妮琪。其为古罗马人所崇拜与供奉的众多神祇之一,经常出现于古罗马硬币、珠宝、建筑和其他艺术作品
  • 电子注入增强栅晶体管电子注入增强栅晶体管(Injection enhanced gate transistor),简称IEGT,是电子半导体器件的一种。具有功率大、体积小、效率高、耐压值高(可达4kw以上)、节能性高等特性,并同时具
  • 三星显示三星显示有限公司(英文:Samsung Display Co., Ltd.)位于韩国忠清南道牙山市,为三星集团旗下的子公司,是一间专门生产TFT-LCD液晶电视所需液晶面板的公司。前身是S-LCD Corporatio
  • 娜塔莉娅·米什库特诺科娜塔莉娅·米什库特诺科 (俄语:Наталья Евгеньевна Мишкутёнок,俄语罗马化:Natalia Yevgenievna Mishkutionok;1970年7月14日-),前俄罗斯 花样滑冰双人
  • 帝乌斯帝乌斯(Dyēus也写作为*Dyḗus Ph2tḗr ,或者拼写为)被认为是在史前原始印欧民族社会宗教传统(英语:Proto-Indo-European religion)信仰中的一尊主要神灵(众神之王)。是万神之殿(或音译:潘提翁)谱系的一尊神祇,祂是照明天空之神,并且祂的地位可能反映了在原始印欧民族社会里族长或是君主的地位。这尊神灵不是直接表明出来的;相反的,学者们是从后来的印欧民族,像是希腊人、拉丁人,以及印度雅利安人的语言和文化中来重现这尊主要的神灵。根据这种学术重建,帝乌斯被名为,字面意思是“天
  • 朱尔·瓦尔顿朱尔·瓦尔顿(法语:Jules Valton,1867年5月11日-1941年8月6日),法国男子帆船运动员。他曾代表法国参加1900年夏季奥林匹克运动会帆船比赛,获得一枚银牌和一枚铜牌。他于1941年在巴黎去世。
  • 刘亢泥刘亢泥(?-?),北魏道武帝拓跋珪的姑父,刘库仁的小儿子。前秦灭亡代国,贺氏带着儿子拓跋珪向北迁徙。在独孤部,刘亢泥的哥哥刘显想谋害大人拓跋珪,刘亢泥的妻子也就是拓跋珪的姑姑告诉了贺氏,拓跋珪得以逃到舅舅家贺兰部。刘显要杀她,刘亢泥夫妻举族求情得免。后来刘亢泥与堂弟刘罗辰、刘肺泥反抗刘显。刘显被后燕和北魏的联军所败后,刘亢泥向后燕投降,封乌桓王,率部迁往中山。后来在和北魏作战时阵亡。