【问题标题】:How to Calculate FAT如何计算脂肪
【发布时间】:2012-05-19 06:22:50
【问题描述】:

我正在学习 FAT 文件系统以及如何计算 FAT 大小。现在,我有一个问题:

假设磁盘大小为 32 MB,块大小为 1 KB。计算FAT16的大小。

现在,我知道要计算它,我们会将每个条目的位数乘以块数。 所以第一步是计算块数 = (32MB)/(1KB) = 2^15 = 32 KB 块。

然后,我们将其代入第一个方程得到 = 2^16 * 2^15 = 2^19 现在,到目前为止,我明白了,我认为这就是答案(这就是我发现它在http://pcnineoneone.com/howto/fat1.html 中的计算方式)。

但是,我得到的答案更进一步,将 2^19 除以 (8*1024) ,这基本上给出了 64KB 的答案。这是为什么?我已经搜索了几个小时,但什么也没找到。

有人能解释一下为什么我们要执行将 2^19 除以 (8*1024) 的额外步骤吗? 哦,另一个问题表明块大小为 2KB,因此它将最终结果除以 (8*1024*1024) ... 8 和 1024 来自哪里? 请帮忙

【问题讨论】:

  • 当然是,但不是“我怎么算出 x”,而是“我认为应该是 x,但是是 y。为什么”
  • 是的,我有答案,我正在努力理解它,以便如果它再次出现,我可以正确应用它。
  • 这取决于集群的大小。集群是否等同于本例中的块?我假设块 == 扇区也是如此。
  • 我不明白为什么有人会问这样一个好问题,而那些不愿提供帮助的人会说不太好听的话。这个问题很真实。我在研究 [操作系统] 时遇到了一些非常相似的问题,并且一直在尝试解决它并寻找答案几个小时。

标签: fat


【解决方案1】:

您使用的是 FAT16。簇用 16 位表示,这意味着 16/8=2 字节。要以字节为单位,结果应除以 8。要以千字节为单位,您应将结果除以 8*1024

【讨论】:

  • 感谢您的回复
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-28
  • 2020-10-28
  • 1970-01-01
  • 1970-01-01
  • 2014-12-02
  • 2014-04-11
相关资源
最近更新 更多