问题标签 [fat]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
305 浏览

filesystems - 基本文件系统实现

我已经获得了 2k 字节来制作一个超简约的文件系统,我考虑制作一个精简版的 FAT16。

我唯一的问题是了解如何将 FAT 存储在卷中。假设我每个块使用 2 个字节,因此我有 1024 个块。我需要一个包含 1024 行的表,并且在每一行中我将保存文件的下一个块。

由于这个块中的每一个都可以寻址其他 1023 个块,所以我看不出这张表如何不会使用我的整个 2k 空间。我不明白如何将此表保存到我的硬盘驱动器中并仅使用几个字节而不是仅使用 1024 块来编写 1024 行表。

0 投票
1 回答
1532 浏览

jar - 为 Dropwizard 应用程序创建一个胖 jar

我正在尝试按照使用 maven shade 插件的 dropwizard 文档为多模块 java 项目创建一个胖 jar。

https://dropwizard.github.io/dropwizard/getting-started.html#building-fat-jars

为了做到这一点,我创建了另一个聚合器项目,它只是另一个 pom.xml,并在这个 pom.xml 中配置了插件

有没有办法可以在这个配置中添加我的类路径?我错过了什么?

0 投票
1 回答
1309 浏览

c++ - 在哪里可以找到使用 c++ 编程访问 NTFS/FAT 的数据结构?

我开始使用 C++ 进行 NTFS/FAT 文件系统编程。如解析MFT日志文件等。

我在网上浏览了一些非常好的材料,例如 ntfs.com,并理解了理论概念。

但是当涉及到访问 NTFS/FAT 文件系统并执行一些代码时。我想知道在哪里可以找到包含所有 c++ 数据结构来访问 Windows 文件系统核心的材料?

请帮忙。

0 投票
1 回答
220 浏览

memory-management - FAT文件系统中的碎片不会导致空间浪费吗?

碎片化文章的维基百科状态:

在许多情况下,碎片会导致存储空间被“浪费”,在这种情况下,该术语也指被浪费的空间本身。对于其他系统(例如 FAT 文件系统),用于存储给定数据(例如文件)的空间是相同的,无论碎片程度如何(从无到极端)。

这是否意味着在 FAT 文件系统的情况下不会浪费存储空间?如果是这样,怎么会这样?

0 投票
1 回答
1868 浏览

fat - 文件分配表逻辑结构

我试图从更高(更合乎逻辑)的级别了解 FAT 文件系统是如何工作的。FAT 文件系统有一个文件分配表,磁盘中每个可用的分配单元(集群)都有一个条目。该数据结构用于将文件与该文件出现在磁盘上的第一个簇的地址进行映射(一个文件几乎肯定会占用多个簇,并且这些簇以链表样式连接在一起)。到目前为止,一切都很好。但是文件分配表中的key是什么?文件名是否带有完整路径?

例如,假设我需要访问文件 C:\folder1\myFile.txt,I/O 管理器在文件分配表中搜索文件名(包括路径),直到找到一个条目,如果是,它返回第一个集群的地址。它是这样工作的吗?我在网上阅读了很多关于这个主题的文档,但不知何故,对文件分配表的访问对我来说仍然是模糊的。预先感谢您的帮助。

[编辑]

我在网上阅读的越多,我就越困惑。我将尝试这个简单的例子,希望它能澄清我的问题。假设我的 C 盘中只有 2 个文件:

C:\myFile.txt

C:\folder1\myFile.txt

文件分配表(以非常抽象的方式)将有 3 个条目:

假设到目前为止我是正确的,假设我想访问 C:\folder1 中的 myFile.txt:我不能使用文件名 (MYFILE.TXT) 本身作为我的密钥,因为我有 2 个同名条目(我不知道该选择哪个条目)。

此时我想我必须从文件夹开始,所以我扫描 FAT 以找到 FOLDER1:我得到条目 #2(集群 300)。下一步是什么?我将如何继续扫描表以查找“MYFILE.TXT”所需的目录条目,以便可以访问指定集群的硬盘驱动器?

也许我从错误的角度来看这个,我不知道。感谢大家的帮助。

0 投票
2 回答
906 浏览

c - 创建任意 FAT 文件系统,以归档或直接在程序内存中

我正在编写一个嵌入式系统,我正在创建一个 USB 大容量存储设备驱动程序,该驱动程序使用 8MB 的 RAM 块作为 FAT 文件系统。

虽然当时允许操作系统取出我的零内存区域并格式化一个 FAT 分区本身是有意义的,但我在 Jan Axelson(USB 书籍的流行作者) PORTS 论坛上遇到了我正在诊断的问题。该问题与擦除驱动器中的块有关,并且可以通过在 USB 枚举之前将内存区域预格式化为 FAT 文件系统来规避。然后,我可以查看驱动器是否可以正常运行。理想情况下,预格式化的分区将包含一个文件以测试读取操作。

如果我能以某种方式在我的 OS (OSX) 上创建和挂载一个模拟 8MB FAT 文件系统,向它写入一个文件,然后将它导出到一个图像文件以包含在我的项目中,那就太好了。有人知道该怎么做吗?我可以处理剩下的。目前我不太担心那是否是 FAT12/16/32,可选的 MBR 包含会很好..

如果该选项不存在,我希望使用预先编写的实用程序来创建一个 FAT img 文件,我可以将其包含到我的项目中并直接上传到 RAM。这个实用程序允许我指定一个 8MB 的文件系统,例如 512 字节的扇区,可能还有 FAT12 / FAT16 / FAT32。

有人知道这样的实用程序吗?我找不到一个。

如果没有,有人可以推荐在 C 中实现这一点的第一步吗?我希望图书馆存在。从头开始实施大容量存储驱动程序后,我已经筋疲力尽了,但我知道我可能不得不“弄皱”并手动创建 FAT 分区。这不是太难。我想象一些打包的结构和一些选项。我会到达那里。我已经拥有 FAT 文件系统本身的资源。

0 投票
1 回答
1453 浏览

c - 从 FAT12 文件中获取数据

所以对于初学者来说,这是一些家庭作业的一部分。任务是从 FAT12 文件中获取数据。我的问题是,当我运行我的代码时,我得到了从我的函数返回的虚假值(巨大的负数)。但是,如果我只运行一个或两个函数,我会得到正确的值。

我的函数:我的函数遵循相同的模式,只是 fseek 和 fread 中的偏移量不同。

主功能

我想说我的问题是指针问题,我只是不知道在哪里或如何。任何关于我的结果如何以及为什么不稳定的见解将不胜感激。

0 投票
0 回答
140 浏览

c++ - FAT16复制/导出命令行工具实现

我正在开发一个命令行工具,它允许您将数据从加载的 FAT16 文件系统复制和导出到您自己的本机文件系统。例如,现在,我的程序是这样工作的:

我希望它像这样工作:

我的代码如下。谁能帮我这个?

编辑:另外,如果有人可以向我指出如何将文件写入 fat 的教程,那就太棒了。

0 投票
1 回答
229 浏览

disk - 软盘扇区如何编号

我想知道软盘扇区是如何排序的,我目前正在编写一个程序来访问软盘的根目录(fat12 格式的高密度),我可以在第 13h 扇区进行调试,但在汇编中它位于磁头 1 磁道0 扇区 2 为什么是扇区 13h,而不是磁头 0 磁道 1 扇区 1?

0 投票
1 回答
78 浏览

operating-system - 如何查找包含 FAT 文件的磁盘块

我想知道如何在 FAT 文件系统中找到文件。

虽然在 Linux 中有一个根块告诉我根在哪里,我可以遍历目录 i 节点及其块指针以从目录条目中找到其他其他 inode,但 FAT 表中没有这样的东西。不仅如此,在整个链表中进行迭代的想法,我发现它非常令人困惑。

有人可以解释我们如何找到包含 FAT 文件的磁盘块吗?