Assembly 为什么脂肪2很少使用?

Assembly 为什么脂肪2很少使用?,assembly,filesystems,fat,Assembly,Filesystems,Fat,我读了Peter Abel的书《IBM PC汇编语言与编程》中关于FAT#2的一行解释 它说: 虽然FAT2仍然保留,但其使用从未实施过 维基百科说: 脂肪区 为了进行冗余检查,这通常包含文件分配表的两个副本(可能会有所不同),尽管很少使用,甚至磁盘修复实用程序也很少使用 我可以想出两个强有力的理由来使用它 所有FAT系统都有一个(除非有一个禁用) 它是内置的 我意识到FAT是一个非常古老的文件系统,但为什么FAT#2从未实施过,而且很少实施?假设“FAT2”是FAT(文件分配表)的第二个副本,

我读了Peter Abel的书《IBM PC汇编语言与编程》中关于FAT#2的一行解释

它说:

虽然FAT2仍然保留,但其使用从未实施过

维基百科说:

脂肪区

为了进行冗余检查,这通常包含文件分配表的两个副本(可能会有所不同),尽管很少使用,甚至磁盘修复实用程序也很少使用

我可以想出两个强有力的理由来使用它

  • 所有FAT系统都有一个(除非有一个禁用)
  • 它是内置的
  • 我意识到FAT是一个非常古老的文件系统,但为什么FAT#2从未实施过,而且很少实施?

    假设“FAT2”是FAT(文件分配表)的第二个副本,那么基本问题是它几乎没有实际用途,但我不确定它是否真的从未使用过

    FAT是FAT文件系统中的一个中心数据结构,因此文件系统本身就是以它命名的。它不仅是一个已分配或未分配集群的表,它还存储组成每个文件的集群的链接列表。如果FAT中的一个扇区损坏,可能会丢失大量文件,因此有人在某个时候认为最好有FAT的备份副本

    但问题是,如果FAT已损坏,您如何判断FAT的哪个副本是正确的?这就限制了备份副本的用途,使其仅适用于从主FAT读取导致读取错误的情况。因此,至少在理论上,如果在读取文件时操作系统在读取FAT时遇到错误,它可以尝试备份副本

    但是,物理磁盘错误并不是FAT损坏的唯一方式。特别是,磁盘修复实用程序,如
    chkdsk
    ,并不是真正为修复由读取错误引起的文件系统损坏而设计的。它们只是为了修复由于将坏数据写入磁盘而导致的损坏。最常见的情况是当计算机在写入磁盘时关闭。在这种情况下,文件系统很容易处于不一致的状态。特别地,如果操作系统处于更新FAT的中间,它可能已经更新了主副本而不是备份副本,或者它可能已经更新了备份副本而不是主副本。没有办法知道是哪个

    我不确定操作系统是否真的在读取错误后检查备份FAT。这很难说,因为这在实践中几乎没有什么不同。单扇区读取错误在过去20年左右的硬盘上并不常见,因为它们会在坏掉之前重新映射出故障扇区。驱动器在完全失效之前通常不会出现磁盘错误。即使在软盘上,物理磁盘错误也会影响整个磁道,这会擦除FAT的两个副本

    查看Linux和FreeBSD FAT文件系统实现的源代码,如果从主FAT读取失败,则似乎不会尝试备份FAT。我不知道微软的三个主要实现(MS-DOS、Windows 95或Windows NT)中的任何一个是做什么的。

    假设“FAT2”意味着FAT(文件分配表)的第二个副本,那么基本问题是它几乎没有实际用途,但我不确定它是否真的从未使用过

    FAT是FAT文件系统中的一个中心数据结构,因此文件系统本身就是以它命名的。它不仅是一个已分配或未分配集群的表,它还存储组成每个文件的集群的链接列表。如果FAT中的一个扇区损坏,可能会丢失大量文件,因此有人在某个时候认为最好有FAT的备份副本

    但问题是,如果FAT已损坏,您如何判断FAT的哪个副本是正确的?这就限制了备份副本的用途,使其仅适用于从主FAT读取导致读取错误的情况。因此,至少在理论上,如果在读取文件时操作系统在读取FAT时遇到错误,它可以尝试备份副本

    但是,物理磁盘错误并不是FAT损坏的唯一方式。特别是,磁盘修复实用程序,如
    chkdsk
    ,并不是真正为修复由读取错误引起的文件系统损坏而设计的。它们只是为了修复由于将坏数据写入磁盘而导致的损坏。最常见的情况是当计算机在写入磁盘时关闭。在这种情况下,文件系统很容易处于不一致的状态。特别地,如果操作系统处于更新FAT的中间,它可能已经更新了主副本而不是备份副本,或者它可能已经更新了备份副本而不是主副本。没有办法知道是哪个

    我不确定操作系统是否真的在读取错误后检查备份FAT。这很难说,因为这在实践中几乎没有什么不同。单扇区读取错误在过去20年左右的硬盘上并不常见,因为它们会在坏掉之前重新映射出故障扇区。驱动器在完全失效之前通常不会出现磁盘错误。即使在软盘上,物理磁盘错误也会影响整个磁道,这会擦除FAT的两个副本


    查看Linux和FreeBSD FAT文件系统实现的源代码,如果从主FAT读取失败,则似乎不会尝试备份FAT。我不知道微软的三个主要实现(MS-DOS、Windows 95或Windows NT)中的任何一个都能做什么。

    听起来像胡说八道,一个从未实际使用过的文件系统很容易维护。在你花时间买书之前,帮自己一个忙,看看亚马逊网站的评论。“如果我在酒吧遇到Peter Abel,我会买一杯酒,只是为了当他的面。”这不是一个很好的建议:)@HansPassant:我不认为这里提到的FAT2是一个真正的文件系统,我相信我是这样认为的