E X P

  • 编辑
  • 评论
  • 标题
  • 链接
  • 查错
  • 图文
  • 拼 命 加 载 中 ...

    在现代计算机中,文件系统(file system)是命名文件及放置文件的逻辑存储和恢复的系统,是操作系统用于明确存储设备或分区上的文件的方法和数据结构,也就是在存储设备上组织文件的方法,管理和存储文件的软件机构。我们日常见到的Windows、macOS、Linux甚至UNIX等操作系统,都有文件系统。不同的操作系统间,可以使用的文件系统格式也不一样。在日常生活里,可能会遇到在Windows里插入U盘或移动硬盘可以随意读取和写入,但到了Mac上却发现不能把资料放进去。

    文件系统格式有很多,其结构、逻辑、存取速度、体积大小、安全性和稳定性等都不一样,同时面向的存储介质也有不同。这个问题如果细究起来会非常复杂,涉及到很多计算机软件方面的专业知识。接下来会介绍几种不同系统下的常见文件系统格式,包括了普通用户最常用的Windows系统,还有部分用户会使用的macOS系统,以及个别用户会接触到的Linux系统,让大家有个大致的了解。

    Windows

    FAT

    FAT全称是File Allocation Table,即文件配置表,是在1977年为了管理磁盘而发明的。比尔盖茨是其中一位发明人,微软拥有部分专利。经过多次适配逐渐使用在硬盘上,也被后来的MS-DOS以及Windows 9x操作系统所使用,是当时的文件系统格式,使用了相当长的一段时间。

    不过FAT有一个比较明显的缺点,当文件删除后写入新数据,不会将文件整理成完整片段再写入,用户长期使用后会使文件数据变得分散,最终会减慢读写速度。在过去Windows 9x操作系统时期,不少用户每隔一段时间就会使用系统里的工具进行碎片整理,以保证FAT文件系统的效率。后来随着硬盘容量的增大,硬盘进行碎片整理的时间会越来越长,FAT磁盘效率低的缺点更加明显,已经变得有点不适应发展需要了。

    FAT使用广泛,几乎被所有操作系统支持。虽然早已不是Windows操作系统的主流文件系统格式了,但仍广泛存在于软盘、U盘和嵌入式设备上,适用于不同操作系统之间交换数据。在日常使用中,用户最容易接触到的是FAT32,常见于U盘,不过会有单个文件体积4GB的限制,随着数据量的增大,往后使用率会慢慢降低。

    NTFS

    NTFS全称是New Technology File System,最早出现于1993年,使用Windows NT内核的操作系统开始提供支持。从Windows 2000开始,包括后来的Windows XP直到现在我们使用的Windows 10,默认文件系统都是NTFS。

    从Windows 9x时代过来的用户都会记得,当年Windows系统崩溃是常有的事情,对于喜欢折腾的用户来说,重装系统是家常便饭了。到了Windows XP时期,除了界面的巨大变化,在使用上最让人印象深刻的莫过于稳定性,重装系统的机率大幅度减少。NTFS文件系统具有错误预警功能、磁盘自我修复功能和日志功能三个功能,相比原来的FAT文件系统,NTFS文件系统在安全性、易用性和稳定性上都有了质的飞跃。

    NTFS系统是一个日志文件系统,是为网络和磁盘配额、文件加密等管理安全特性设计的磁盘格式,提供长文件名、数据保护和恢复,能通过目录和文件许可实现安全性,并支持跨越分区。在NTFS系统中,除了写入信息,还会对操作进行记录,当NTFS文件系统在发生错误的时候,利用日志功能可以修复数据,使得系统恢复变得更加容易。

    在日常使用中,个别使用Mac的用户可能会遇到不能正常使用NTFS文件系统格式U盘的情况。这是因为在macOS系统里,默认对NTFS文件系统格式的U盘只能读取,不能写入、删除或修改,需要额外的工具才可以。

    exFAT

    exFAT全称是Extended File Allocation Table File System,意思是扩展FAT,即扩展文件分配表。这是微软专门为闪存设备设计的文件系统,在Windows Embeded 5.0开始提供支持,一方面可以解决NTFS不太适用于闪存的问题(不断读写可能会影响使用寿命),另一方面是为了解决FAT32单个文件体积4GB限制等问题。

    如果用户使用Windows 8及更高版本的操作系统,可原生支持exFAT启动,同时支持以特殊方式安装在exFAT分区中。由于exFAT文件系统在Windows,Linux以及macOS上都能进行读写操作,而且支持大文件,这些特性让exFAT使用在U盘上就非常适合了。虽然exFAT兼容性比起FAT32会差一些,但长远来说使用率会越来越高。

    macOS

    HFS/HFS+

    HFS全称是Hierarchical File System,即分层文件系统,也称Mac OS 标准格式。这是由苹果开发可用于软盘、磁盘和光盘的文件系统格式,首次出现在1985年。HFS用于取代更为老旧的MFS(Macintosh File System),即Macintosh 文件系统。很长时间内,HFS都是Mac专有的主要文件系统,也是苹果Open Firmware所支持的最基本的文件系统。

    HFS+称为Mac OS 扩展格式,是苹果在1998年发布(首见于Mac OS 8.1)的Mac专有大容量硬盘文件系统,以改善HFS对磁盘空间的地址定位效率低下的问题,并加以改进。HFS+使用了相当长的时间,差不多有20年的时间,一直到macOS 10.12。不过HFS+是一个饱受争议的文件系统格式,Linux之父Linus Benedict Torvalds曾称HFS+是有史以来最烂的文件系统,原话是:

    “Quite frankly, HFS+ is probably the worst filesystem ever. Christ what shit it is.”

    当然,Linus的吐槽能力在业内是很出名的,值得一提的经典事件不止一两次。

    APFS

    APFS全称Apple File System,即Apple 文件系统。随着2017年苹果推出macOS10.13,APFS取代了 HFS+,成为Mac电脑所使用的默认文件系统。新的文件系统具有强加密、空间共享、磁盘快照、快速目录大小统计等特性,以及改进的文件系统基础,优化了SSD性能。

    随着计算机技术的发展,CPU多核心、内存和硬盘的容量不断增大、存储介质从HDD逐渐转向SSD等,硬件的改变需要软件的配合,而HFS+已不能适应新时代硬件的发展节奏了。APFS不但适用于闪存/SSD存储,还可以与HDD和外置直连储存设备的低版本系统配合使用。值得一提的是,APFS的开发和设计是从2014年开始的,而且是从零开始构建,前后仅用了三年的时间,可以说非常高效。

    Linux

    Ext2/Ext3

    Ext2全称Second Extended Filesystem,是Linux内核所使用的文件系统,首次出现于1993年,是许多早期Linux发行版默认的文件系统。Ext2可以说的Linux系统中使用最多的一种文件系统,其存取文件的性能极好,CPU占用率极低,既可以用在磁盘这样的标准存储设备,也能用在磁盘等移动存储设备上。

    Ext3全称Third Extended Filesystem,这也是不少Linux发行版默认的文件系统,首次出现于1999年。Ext3属于一种日志文件系统,是对Ext2的扩展,并兼容Ext2,两者共享相同的工具集,而且两种文件系统之间进行转换非常容易。简单来说,Ext3就是Ext2基础上加入日志功能,实现了三个级别的日志记录方式,包括日记(journal))、顺序(ordered)和回写(writeback)。

    在Ext3文件系统里,会将整个磁盘的写入动作完整记录在磁盘的某个区域上,详细记录每个细节,以便有需要的时候可以回溯追踪。即使在某个过程被中断,系统可以根据记录重整,动作会非常迅速。

    Ext4

    Ext4全称Fourth Extended Filesystem,是在Ext3基础上新的高级功能,首次发布于2006年。由于改动导致Ext3变得不稳定,最终从Ext3中剥离并单独发展。经过了一段时间的不断改进,Ext4才变得稳定,成为现今大部分Linux发行版默认的文件系统。

    在功能上,Ext4和Ext3非常相似,但支持大文件系统,提高了对碎片的抵抗力,有更高的性能以及更好的时间戳。由于在Ext4开发过程中仍依赖于不少旧技术,存在一定的局限性,但在Linux下一代文件系统诞生前还会不断改进,以适应现阶段硬件的发展需要。未来一段时间内,Ext4还会继续开发新的功能,包括元数据校验和、一流的配额支持和大分配块。

    ×
    热门文章
    12024年2月中国大陆主板出货量:圣旗取代映泰进入前八
    2华硕Z790 HERO BTF主板海外上市:售价799欧元,支持600W显卡供电
    3英伟达Blackwell架构B100细节泄露:将配备192GB的8层堆叠HBM3E
    4武汉新芯启动HBM项目:建立生产线,瞄准AI和HPC应用
    5Acer推出新款Radeon RX 7900 GRE,包括BiFrost和Nitro系列
    6华硕ROG NUC海外上架:Ultra 9 185H+RTX 4070版本售价2499欧元
    7优派VX2781-4K-PRO-6显示器开卖:4K@165Hz+双Type-C+IGZO技术,5199元
    8ASML已交付第三代EUV光刻机,可用于制造2nm芯片
    9超频三黑海RZ400 V2散热器预售:“三角几何”设计,4热管风冷,首发119元起
    已有 12 条评论,共 43 人参与。
    登录快速注册 后发表评论
    • Emik博士 2021-07-23 10:14    |  加入黑名单

      Linux常见的还有XFS和Btrfs,BSD上常见的还有ZFS

      支持(8)  |   反对(0)  |   举报  |   回复

      12#

    • 我匿名了  2021-07-23 09:54

      小编应该把ReFS加上,毕竟这个快要来了,Server 2022上格式化的时候可以选这个了。

      支持(8)  |   反对(0)  |   举报  |   回复

      11#

    • Pigeon.GuGuJi教授 2021-07-23 09:35    |  加入黑名单

      chnhi 博士

      家庭nas 用 更推荐 单盘系统 +snap raid。
      包括zfs组raid-z在内的大部分软raid,很可能硬盘还没坏,文件系统先崩溃了。。。
      2021-07-23 00:46
    • 支持(1)  |   反对(0)  |   举报  |   回复
    • zfs的软raid稳定性还好的(毕竟当年sun拿这玩意装逼+卖钱的),发展了这么长时间了,超算都有用的,在稳定性这个问题上不必太过纠结,家用体会就更小了,而且校验,去重什么的,该有的特性都有了,一般人上手也比较简单,其实自己搞的时候,在别的地方翻车的可能性其实更大(别问我为什么
      (btrfs那种确实让人有点害怕,但是群晖不是套了lvm照用

      不过性能确实不如硬raid,尤其是有想做高性能AiO的,那个内存,嘿嘿

      支持(0)  |   反对(0)  |   举报  |   回复

      10#

    • chnhi博士 2021-07-23 00:46    |  加入黑名单

      Pigeon.GuGuJi 教授

      ZFS鞋教徒来给大家传教了

      稳定且功能强大,墙裂推荐拥有NAS等多盘位设备使用


      PS:其实APFS借鉴了不少ZFS的思路

      PS:话说巨硬的ReFS大家好像很少关注啊
      2021-07-22 21:07 已有1次举报
    • 支持(3)  |   反对(0)  |   举报  |   回复
    • 家庭nas 用 更推荐 单盘系统 +snap raid。
      包括zfs组raid-z在内的大部分软raid,很可能硬盘还没坏,文件系统先崩溃了。。。

      支持(1)  |   反对(0)  |   举报  |   回复

      9#

    • yochee教授 2021-07-23 00:46    |  加入黑名单

      性能不太懂,但是ext4会默认预留一部分空间,nas的话没必要,我一般用xfs,smb挂到win上是ntfs,没啥问题

      支持(0)  |   反对(0)  |   举报  |   回复

      8#

    • Pigeon.GuGuJi教授 2021-07-22 21:07    |  加入黑名单

      ZFS鞋教徒来给大家传教了

      稳定且功能强大,墙裂推荐拥有NAS等多盘位设备使用


      PS:其实APFS借鉴了不少ZFS的思路

      PS:话说巨硬的ReFS大家好像很少关注啊

      已有1次举报

      支持(3)  |   反对(0)  |   举报  |   回复

      7#

    • tao123教授 2021-07-22 19:01    |  加入黑名单

      一般人没必要纠结于文件系统,Win老实用NTFS,Linux用ext4,就算你是NAS设备,一定要快照的建议另盘处理,仓库盘用ext4,毕竟谁都不能保证那一天系统或硬盘崩了,你要恢复硬盘数据,ext4还有可能自己搞定,其它的杂七杂八,就恐怕没那么简单了。

      支持(4)  |   反对(1)  |   举报  |   回复

      6#

    • ssd444博士 2021-07-22 18:44    |  加入黑名单

      Linux 上 Ext 系列比较传统,需要补充上 BTRFS 和 XFS 的介绍。

      支持(2)  |   反对(0)  |   举报  |   回复

      5#

    • 养兔子的猫研究生 2021-07-22 18:19    |  加入黑名单

      连编辑的评论都是审核中。。。尴尬

      支持(1)  |   反对(0)  |   举报  |   回复

      4#

    • 吕嘉俭编辑 2021-07-22 18:08    |  加入黑名单

      cjgbd 研究生

      linux上文件系统种类是非常多。redhat 7家族将xfs作为默认的文件系统了。而且根据需要和开源特性,不断的有开发者尝试改进文件系统
      2021-07-22 17:00
    • 支持(0)  |   反对(0)  |   举报  |   回复
    • 是的,Linux支持的文件系统种类如果完全展开来讲就非常多了。

      支持(0)  |   反对(0)  |   举报  |   回复

      3#

    • ChinaBlue博士 2021-07-22 17:03    |  加入黑名单

      文章不错,要是能扩展讲一下各文件系统对加密的影响就更好了。
      打个比方NTFS开启了Windows的Bitlocker,就不能再用工具对分区表进行调整了。

      支持(2)  |   反对(0)  |   举报  |   回复

      2#

    • cjgbd研究生 2021-07-22 17:00    |  加入黑名单

      linux上文件系统种类是非常多。redhat 7家族将xfs作为默认的文件系统了。而且根据需要和开源特性,不断的有开发者尝试改进文件系统

      支持(0)  |   反对(0)  |   举报  |   回复

      1#

    提示:本页有 12 个评论因未通过审核而被隐藏

    登录 后发表评论,若无帐号可 快速注册 ,请留意 评论奖罚说明