闪存驱动器和硬盘驱动器是否被认为是“字节的海洋”?

non*_*ity 2 ntfs hard-drive filesystems fat32 usb-flash-drive

为什么 U 盘可以格式化为 NTFS 或 FAT32?USB闪存驱动器和硬盘驱动器只是被认为是“字节的海洋”吗?

我已经很习惯听到将硬盘格式化为 FAT32 或 NTFS,但我们也可以将 USB 闪存驱动器格式化为 NTFS 或 FAT32?

是因为硬盘驱动器或闪存驱动器都可以被认为是“比特的海洋”或“字节的海洋”吗?我记得RAM为:它以16位或32位作为地址信号(电路板上的16位或32位铜脚),并发出8位数据(电路板上的其他8位铜脚)。那么硬盘驱动器也可以被认为是这样工作的吗?所以这就是为什么闪存驱动器也可以相同的原因?只是一个“字节的海洋”。

但是硬盘的硬件真的使它成为一个扇区或其他东西的海洋,也就是说,较小的读/写单位不是字节而是其他东西吗?

因此,对于这个“字节海洋”,NTFS 的格式表示,“如果第一个字节是 ________,则表示 ____(它是一个文件或文件夹,并链接到哪个扇区,由字节 2 和 3 等表示) , 等等)”

whi*_*ark 5

你可以,但操作系统不能。闪存驱动器和硬盘驱动器都由扇区读取(和写入),并且仅由扇区读取。该设备的驱动程序通常这个限制适用于较高水平,同时也阅读整个行业与如NTFS超级比读同一部门更快几倍含蓄,因为翻译“字节范围”的要求,以“部门”请求司机,所以文件系统驱动程序也按扇区(或任何多个扇区:存在一种称为 DMA 的技术——直接内存访问——允许读取和写入大量的扇区而不使用 CPU 时间,从而使磁盘访问非常快速地)。

由于两个原因,闪存芯片(不是驱动器)在技术上被划分为其他数据块:

  1. Flash 芯片可以从任何位置读取到任何位置,但只能由固定大小和位置的块写入。
  2. 闪存芯片包含的数据和可用空间比您想象的要多,因为芯片在工作过程中获得一些故障扇区是正常的。它们被USB 驱动上的存储控制器重新映射到其他扇区,并且对于操作系统来说是不可见的坏扇区;实际上没有软件方法可以检查它们是否存在。同样,闪存控制器始终配备算法,允许无缝替换故障扇区,而无需通知上层。

您正在阅读的 NTFS 文档不建议按字节读取这些变量。您需要在它们包含的整个扇区中读取它们,然后在内存中寻址特定字节。

此外,最近的内存(几乎是 386 兼容机器上的任何内存)也不是按 bytes 寻址的。相反,它由 32 位(很少)、64 位甚至 128 位字寻址。当你在这样的文字处理器中间读取一个字节时,它真的会请求整个单词,然后选择你需要的字节。当您尝试访问未对齐(按 64 位字边界)的指针时,某些 64 位处理器甚至会引发硬件异常。